Actions

Cours

Différences entre versions de « Django et base de données »

De GBLL, TAL, ALAO, etc.

(Page créée avec « Django est un framework python qui vous permet de rapidement créer un site web, une application web ou une API. [[https://www.djangoproject.com/ Site officiel de Django]… »)
 
Ligne 13 : Ligne 13 :
 
# Créer un template html pour notre page todo list. La balise ligne 1 permet d'injecter le contenu de cette page dans la page principale base.html que nous avons créée dans le tuto précédent. La balise ligne 2 permettra de charger le fichier javascript todolist.js, que nous n'avons pas encore créé. Pour l'instant, il n'y a qu'un titre sur la page, et une div "items" vide.
 
# Créer un template html pour notre page todo list. La balise ligne 1 permet d'injecter le contenu de cette page dans la page principale base.html que nous avons créée dans le tuto précédent. La balise ligne 2 permettra de charger le fichier javascript todolist.js, que nous n'avons pas encore créé. Pour l'instant, il n'y a qu'un titre sur la page, et une div "items" vide.
  
todolist.html
+
(todolist.html)
<syntaxhighlight lang="python" style="border: 1px solid #dfdfdf;background-color:#f8f8f8;font-size: 90%;padding:10px">
+
<syntaxhighlight lang="html" style="border: 1px solid #dfdfdf;background-color:#f8f8f8;font-size: 90%;padding:10px">
 
{% extends "base.html" %}
 
{% extends "base.html" %}
 
{% load static %}
 
{% load static %}
Ligne 27 : Ligne 27 :
 
<script src="{% static 'scripts/todolist.js' %}"></script>
 
<script src="{% static 'scripts/todolist.js' %}"></script>
 
{% endblock %}
 
{% endblock %}
 +
</syntaxhighlight>
 +
 +
# Créer une view pour afficher cette page dans views.py.
 +
 +
(view.py)
 +
<syntaxhighlight lang="python" style="border: 1px solid #dfdfdf;background-color:#f8f8f8;font-size: 90%;padding:10px">
 +
def todolist(request):
 +
    return render(request, 'todolist.html')
 +
</syntaxhighlight>
 +
 +
# Ajouter une url pour pouvoir appeler cette view dans urls.py.
 +
 +
(urls.py)
 +
<syntaxhighlight lang="python" highlight="7" style="border: 1px solid #dfdfdf;background-color:#f8f8f8;font-size: 90%;padding:10px">
 +
urlpatterns = [
 +
    path('admin/', admin.site.urls),
 +
    path('', myApp.home),
 +
    path('variables/', myApp.variables),
 +
    path('spacy/', myApp.spacy),
 +
    path('analyze/', csrf_exempt(myApp.analyze)),
 +
    path('todolist/', myApp.todolist),
 
</syntaxhighlight>
 
</syntaxhighlight>

Version du 16 novembre 2022 à 20:04

Django est un framework python qui vous permet de rapidement créer un site web, une application web ou une API.

[Site officiel de Django]

Pour installer Django et faire ses premier pas, jetez un œil à [Cours:Initiation_à_Django].

Dans ce tutoriel, nous allons utiliser la base de données native de Django. Nous allons créer une page Todo list, sur laquelle sera lister les items de notre todo list. Nous pourrons en ajouter et en supprimer depuis cette même page via une requête AJAX.

Todo list de base pour commencer :)

Création d'une page dédiée pour notre Todo list

  1. Créer un template html pour notre page todo list. La balise ligne 1 permet d'injecter le contenu de cette page dans la page principale base.html que nous avons créée dans le tuto précédent. La balise ligne 2 permettra de charger le fichier javascript todolist.js, que nous n'avons pas encore créé. Pour l'instant, il n'y a qu'un titre sur la page, et une div "items" vide.

(todolist.html)

{% extends "base.html" %}
{% load static %}

{% block content %}
<h1>Ma todo list</h1>

<div id="items"></div>
{% endblock %}

{% block script %}
<script src="{% static 'scripts/todolist.js' %}"></script>
{% endblock %}
  1. Créer une view pour afficher cette page dans views.py.

(view.py)

def todolist(request):
    return render(request, 'todolist.html')
  1. Ajouter une url pour pouvoir appeler cette view dans urls.py.

(urls.py)

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', myApp.home),
    path('variables/', myApp.variables),
    path('spacy/', myApp.spacy),
    path('analyze/', csrf_exempt(myApp.analyze)),
    path('todolist/', myApp.todolist),