Intégration de Vue.js dans un projet Django pour une séparation front-end/back-end

  1. Création d'un projet Django
1. django-admin startproject projetdjango  # Créer un projet Django appelé projetdjango

2. django-admin startapp application        # Créer une application Django appelée application

  1. Installation de Vue.js et ses outils
1. Installez Node.js depuis le site officiel : https://nodejs.org/fr/download/

2. Utilisez le miroir cnpm pour une meilleure vitesse de téléchargement :
   npm install -g cnpm --registry=https://registry.npm.taobao.org

3. Installez Vue CLI :
   cnpm install -g @vue/cli

  1. Configuration du projet Vue.js
1. Placez votre projet Vue.js dans le répertoire racine de votre projet Django, à côté de l'application

2. Démarrez le projet Vue.js :
   cd monprojetvue
   cnpm install
   cnpm run serve

  1. Intégration du projet Vue.js dans Django
1. Construisez votre projet Vue.js :
   npm run build

  1. Modifiez le fichier settings.py de Django pour inclure les fichiers générés par Vue.js :
   TEMPLATES = [
       {
           'BACKEND': 'django.template.backends.django.DjangoTemplates',
           'DIRS': [os.path.join(BASE_DIR, 'monprojetvue/dist')],  # Chemin vers le répertoire du projet Vue.js
           'APP_DIRS': True,
           'OPTIONS': {
               'context_processors': [
                   'django.template.context_processors.debug',
                   'django.template.context_processors.request',
                   'django.contrib.auth.context_processors.auth',
                   'django.contrib.messages.context_processors.messages',
               ],
           },
       },
   ]

   STATIC_URL = '/static/'

   STATICFILES_DIRS = [
       os.path.join(BASE_DIR, 'monprojetvue/dist/static/'),  # Chemin vers les fichiers statiques de Vue.js
   ]

  1. Configuration des URL dans Django
from django.contrib import admin
from django.urls import path
from django.views.generic.base import TemplateView

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', TemplateView.as_view(template_name='index.html')),
]

  1. Démarrage du serveur Django
python manage.py runserver

Ouvrez votre navigateur à l'adresse http://127.0.0.1:8000/ pour voir le résultat

  1. Corrigé des problèmes de routage

Si le routage ne fonctionne pas correctement, vérifiez que les chemins dans vos ficheirs de configuration sont corrects. Parfois, il est nécessaire de reconstruire le projet Vue.js après avoir modifié les chemins de routage.

Pour reconstruire :

npm run build

  1. Solution aux problèmes d'icônes FontAwesome

Si les icônes FontAwesome ne sont pas affichées après la construction du projet, vérifiez les chemins dans vos fichiers CSS. Modifiez :

url(/static/fonts/fontawesome-webfont.b06871f.ttf)

en

url(../fonts/fontawesome-webfont.b06871f.ttf)

Cela devrait résoudre le problème d'affichage des icônes

Étiquettes: Django Vue.js Développement Front-end Intégration Séparation des couches

Publié le 28 août à 13h07