Agence Immo - Création Application

Agence Immo - Création Application

Ici, nous allons commencer par créer trois applications pour ce site web. A ce stade nous allons considérer qu'il y a essentiellement 2 types d'utilisateurs, les visiteurs qui consulterons les annonces du site web et l'administrateur qui sera en charge de créer les annonces. Nous élargirons l'accès à l'espace administrateur plus tard.

Initialisons notre environnement virtuel

source/env/bin/activate

Créons notre première application que nous allons appeler frontend

python manage.py startapp frontend

Ensuite on créer une seconde application pour l'administration que nous allons appeler backend

python manage.py startapp backend

Pour finir nous allons créer l'application 'accounts' pour gérér les utilisateurs de l'espace administration

python manage.py startapp accounts

On ajoute ces 3 applications à notre fichier settings (agenceimmo/settings):

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'frontend',
    'backend',
    'accounts'
]

On se rend maintenant dans le fichier agenceimmo/urls.py et on va configurer le rootage de nos urls de la façon suivante:

 

from django.contrib import admin
from django.urls import path
from django.conf import settings

import accounts.views
import backend.views
import frontend.views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',frontend.views.home,name='home'),
    path('dashboard/',backend.views.dashboard,name='dashboard')
]

La première url admin sera basé sur espace admin intégré "django admin" dont nous reparlerons

La deuxième renverra vers la page d'accueil et  la dernière vers l'espace qui permettra aux utilsateurs autorisés de creer, modifier et supprimer des annonces

Maintenant rendons nous dans le fichier frontend/views.py et créons la fonction home qui retournera la page d'accueil :

from django.shortcuts import render


# Create your views here.
def home(request):
    return render(request, 'home.html')

 

Ensuite il faut creer un dossier templates dans lequel nous allons creer le fichier index.html et mettre une petite phrase qui s'affichera

#templates/index.html
<h1> Hello Homepage </h1>

On fait de meme pour l'application backend

from django.shortcuts import render


# Create your views here.
def dashboard(request):
    return render(request, 'dashboard.html')

La encore il faut creer un dossier templates dans lequel nous allons creer le fichier dashboard.html et mettre une petite phrase qui s'affichera

#templates/dashboard.html
<h1>Hello Dashboard</h1>

Maintenant vous pouvez verifier que les deux pages que nous avons créé s'affiche correctement en vousrendant sur les deux  url suivantes: 

http://127.0.0.1:8000
http://127.0.0.1:8000/dashboard/