Un projet est composé de plusieurs applications.
Création d'une application nommée blog dans le projet website :
cd /home/marc/prg/django_project/website python manage.py startapp blog
L'application est créée dans un sous-dossier au même niveau que le projet :
/home/marc/prg/django_project$ tree -L 3 . ├── venv │ └── ... │ └── website ├── blog │ ├── admin.py │ ├── apps.py │ ├── __init__.py │ ├── migrations │ ├── models.py │ ├── tests.py │ └── views.py ├── db.sqlite3 ├── manage.py └── website ├── asgi.py ├── __init__.py ├── __pycache__ ├── settings.py ├── urls.py └── wsgi.py
Éditer le fichier settings.py du projet pour y ajouter l'application “blog” :
INSTALLED_APPS = [ ... 'blog' ]
La vue est une fonction dans le views.py de l'application :
from django.http import HttpResponse def home(request): return HttpResponse('<h1>Blog Home</h1>')
Ajouter la route dans le urls.py de l'application :
from django.urls import path from blog import views urlpatterns = [ path('', views.home, name='blog-home'), ]
Ensuite inclure les routes de l'application dans le urls.py du projet :
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('blog/', include('blog.urls')), ]
Visiter la page http://localhost:8000/blog/