Utilisez Django pour créer le premier jour de préparation de l'environnement des notes de blog

Utilisez Django pour créer un blog sans séparation des extrémités avant et arrière

1. Construction de l'environnement

J'ai installé python3.7.3, MySQL5.7, Django2.2 à l'avance, en programmant avec pycharm

1. Créer un environnement virtuel python
1.1 Installer les dépendances de l'environnement virtuel

pip install virtualenvwrapper-win

1.2 Créez un environnement virtuel nommé Myblog, l'emplacement de stockage par défaut de l'environnement virtuel sous Windows : C:\Users\username\Envs, ce chemin est requis lors de la création d'un projet ultérieurement

mkvirtualenv  -p C:\learn\Anaconda3\python.exe  Myblog

2. Installez django2.2.0
2.1 et entrez dans l'environnement virtuel

workon Myblog

2.2 Utilisez pip pour installer, passez à la source Douban

pip intsall django==2.2.0 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

Utilisez la liste des points pour afficherinsérez la description de l'image ici

2. Créer un projet Django

Ouvrez pycharm, cliquez sur Créer un nouveau projet, les étapes sont indiquées dans la figure
insérez la description de l'image ici

insérez la description de l'image ici

3. Conception de la structure du projet

1. Créez un compte d'applications de projet, un album, un article et un interflux dans le projet, et créez un fichier de routage urls.py dans chaque application de projet ; enfin, créez des dossiers médias, statiques et modèles dans le projet (lors de la création du projet, il est déjà automatiquement créé pour nous, sans que nous créions manuellement le dossier nous-mêmes). Utilisez pycharm pour créer une application, les étapes sont comme indiqué dans la figure :
Après avoir cliqué sur l'outil en haut, cliquez sur Exécuter la tâche manage.py et
insérez la description de l'image ici
entrez le compte startapp dans la console ci-dessous
insérez la description de l'image ici
pour créer urls.py
insérez la description de l'image ici

Les trois étapes de création d'application d'album, d'article et d'interflux sont les mêmes que la méthode de création d'application de compte ci-dessus. Afin de faciliter la gestion des applications, nous plaçons les quatre applications dans un dossier nommé app :
insérez la description de l'image ici
insérez la description de l'image ici

Déplacez l'application dans le fichier de l'application.
insérez la description de l'image ici
Les dossiers media et static sont créés de la même manière que l'application. Le répertoire de fichiers final est illustré dans la figure ci-dessous : La
insérez la description de l'image ici
description de l'application et du dossier de projet nouvellement créés est la suivante :
(1 ) Le compte d'application du projet réalise l'enregistrement de l'utilisateur, la connexion et la page d'informations sur le profil de l'utilisateur (Blogger), le modèle personnalisé MyUser hérite du modèle intégré User et de nouveaux champs sont ajoutés sur la base du modèle intégré User pour améliorer les informations de l'utilisateur. . La page d'informations sur le profil de blogueur du modèle MyUser fournit un support de données, et le modèle MyUser doit être associé à d'autres modèles.

(2) Le projet utilise l'album pour réaliser la fonction de mur d'images, et le mur d'images de chaque utilisateur (blogueur) ne peut afficher que les informations d'image téléchargées par lui-même. Le modèle AlbumInfo est utilisé pour stocker les informations d'image du mur d'images. Il possède un modèle d'association de champ de clé étrangère MyUser et forme une relation de données un-à-plusieurs avec le modèle MyUser.

(3) Le projet utilise article pour réaliser la gestion des articles des utilisateurs (blogueurs). Chaque article est équipé de balises de classification, de contenu textuel et de calendrier de commentaires. Les trois correspondent respectivement aux modèles AriclTag, Articlelnfo et Comment, et la relation de données entre chaque modèle est expliqué comme suit : le modèle ArticleTag a un modèle d'association de champ de clé étrangère MyUser, qui forme une relation de données un-à-plusieurs avec le modèle MyUser, et le modèle Ariclelnfo forme non seulement une relation de données un-à-plusieurs avec le modèle MyYUser, mais forme également une relation plusieurs-à-plusieurs avec la relation de données du modèle ArticleTag.

Le modèle Comment ne forme qu'une relation de données un-à-plusieurs avec le modèle ArticleInfo.

(4) Le projet utilise Nero pour implémenter la fonction de tableau d'affichage du blog. Le modèle Board stocke les informations du tableau d'affichage. Il possède un modèle d'association de champ de clé étrangère MyUser, qui forme une relation de données un-à-plusieurs avec le modèle MyUser, distinguant ainsi le contenu du babillard électronique de chaque utilisateur (blogueur).
(5) Le dossier de ressources multimédias media stocke des fichiers de ressources tels que des images d'articles téléchargées par des utilisateurs (blogueurs), des images sur le mur d'images et des avatars d'utilisateurs (blogueurs). Ces fichiers de ressources changent fréquemment, ils sont donc différents des ressources statiques. stockage chemin.

(6) Le dossier de ressources statiques statique stocke des ressources statiques telles que des fichiers de style CSS de pages Web, des fichiers de script JavaScript et des images de pages Web. Si plusieurs applications de projet sont créées dans le projet et que des dossiers de ressources statiques sont créés séparément dans chaque application de projet, la mise à jour ou la modification de la mise en page de la page Web n'est pas propice à la maintenance et à la gestion futures.

(7) Les modèles de dossier de modèle stockent les fichiers de modèle. Ce projet utilise un total de 7 fichiers de modèle. La description de chaque fichier de modèle est la suivante :

  • base.html définit le fichier de modèle commun pour le projet.

  • album.html réalise le contenu de la page web du mur d'images.

  • article.html implémente la page de liste d'articles.

  • board.html implémente le contenu de la page Web du forum.

  • detail.html implémente la page de contenu du corps de l'article.

  • user.html implémente les pages d'enregistrement et de connexion des utilisateurs.

  • about.html implémente la page d'informations sur le profil de l'utilisateur (blogueur).

4. Paramétrage des fonctions

Écrivez le compte d'application du projet, l'album, l'article et l'interflux dans l'attribut de configuration INSTALLED_APPS du fichier de configuration Django setting.py, et ajoutez le middleware LocaleMiddleware dans l'attribut de configuration MIDDLEWARE, afin que le système acquis par l'administrateur prenne en charge la langue chinoise. Le code de configuration est comme suit:

# Myblog 的 setting.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app.account',
    'app.album',
    'app.article',
    'app.interflow'
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    # 中间件LocaleMiddleware
    'django.middleware.locale.LocaleMiddleware'
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

Le stockage des données du projet adopte la base de données MySQL. Nous créons blogdb dans MySQL et définissons la méthode de connexion des données dans la propriété de configuration DATABASES. Le code de configuration est le suivant :

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'blogdb',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'POST': '3306',
    }
}

Enfin, introduisez le dossier statique static et le dossier de ressources media media dans l'environnement d'exploitation Django, et remplacez le modèle utilisateur intégré de Django User par le modèle personnalisé MyUser du compte d'application du projet. Le code de configuration est le suivant :

# 配置自定义用户模型 应用.模型
AUTH_USER_MODEL = "account.MyUser"

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static")]

# 设置媒体资源的保存路径
MEDIR_URL = '/media'
MEDIR_ROOT = os.path.join(BASE_DIR, "media")

Je suppose que tu aimes

Origine blog.csdn.net/qq_45723275/article/details/120458603
conseillé
Classement