Use Django para construir el primer día de preparación del entorno de notas del blog

Use Django para crear un blog sin separar los extremos delantero y trasero

1. Construcción del entorno

Instalé python3.7.3, MySQL5.7, Django2.2 por adelantado, programando usando pycharm

1. Crear un entorno virtual de python
1.1 Instalar las dependencias del entorno virtual

pip install virtualenvwrapper-win

1.2 Cree un entorno virtual llamado Myblog, la ubicación de almacenamiento predeterminada del entorno virtual en Windows: C:\Users\username\Envs, esta ruta es necesaria cuando se crea un proyecto más adelante

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

2. Instala django2.2.0
2.1 e ingresa al entorno virtual

workon Myblog

2.2 Use pip para instalar, cambie a la fuente Douban

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

Usa la lista de pips para verinserte la descripción de la imagen aquí

2. Crea un proyecto Django

Abra pycharm, haga clic en Crear nuevo proyecto, los pasos se muestran en la figura
inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

3. Diseño de la estructura del proyecto

1. Crear cuenta de aplicaciones de proyecto, álbum, artículo e interflujo en el proyecto, y crear un archivo de enrutamiento urls.py en cada aplicación de proyecto, finalmente crear carpetas multimedia, estáticas y plantillas en el proyecto (al crear el proyecto, ya es automático creado para nosotros, sin que nosotros mismos creemos manualmente la carpeta). Use pycharm para crear una aplicación, los pasos son los que se muestran en la figura:
Después de hacer clic en la herramienta en la parte superior, haga clic en Ejecutar tarea manage.py e
inserte la descripción de la imagen aquí
ingrese la cuenta startapp en la consola a continuación
inserte la descripción de la imagen aquí
para crear urls.py
inserte la descripción de la imagen aquí

Los tres pasos de creación de aplicaciones (álbum, artículo e interflow) son los mismos que el método de creación de aplicaciones de cuenta anterior. Para facilitar la gestión de aplicaciones, colocamos las cuatro aplicaciones en una carpeta llamada app:
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Mueva la aplicación al archivo de la aplicación.
inserte la descripción de la imagen aquí
Las carpetas media y static se crean de la misma manera que la aplicación. El directorio del archivo final se muestra en la siguiente figura: La
inserte la descripción de la imagen aquí
descripción de la aplicación y la carpeta del proyecto recién creada es la siguiente:
(1 ) La cuenta de la aplicación del proyecto realiza el registro del usuario, el inicio de sesión y la página de información del perfil del usuario (Blogger), el modelo personalizado MyUser hereda el modelo integrado Usuario, y se agregan nuevos campos sobre la base del modelo integrado Usuario para mejorar la información del usuario . La página de información del perfil de blogger del modelo MyUser proporciona soporte de datos, y el modelo MyUser debe asociarse con otros modelos.

(2) El proyecto utiliza el álbum para realizar la función de pared de imágenes, y la pared de imágenes de cada usuario (blogger) solo puede mostrar la información de la imagen cargada por sí misma. El modelo AlbumInfo se utiliza para almacenar la información de imagen de la pared de imágenes.Tiene un modelo de asociación de campo de clave externa MyUser y forma una relación de datos de uno a muchos con el modelo MyUser.

(3) El proyecto utiliza article para realizar la gestión de artículos de los usuarios (bloggers). Cada artículo está equipado con etiquetas de clasificación, contenido de texto y programación de comentarios. Los tres corresponden a los modelos AriclTag, Articlelnfo y Comment respectivamente, y la relación de datos entre cada modelo se explica de la siguiente manera: El modelo ArticleTag tiene un modelo de asociación de campo de clave externa MiUsuario, que forma una relación de datos de uno a muchos con el modelo MiUsuario, y el modelo Aricelnfo no solo forma una relación de datos de uno a muchos con el modelo MyYUser, sino que también forma una relación de muchos a muchos con la relación de datos del modelo ArticleTag.

El comentario del modelo solo forma una relación de datos de uno a muchos con el artículo ArticleInfo del modelo.

(4) El proyecto usa nero para implementar la función de tablero de mensajes del blog. El tablero modelo almacena información del tablero de mensajes. Tiene un modelo de asociación de campo de clave externa MyUser, que forma una relación de datos de uno a muchos con el modelo MyUser, distinguiendo así el contenido del tablero de mensajes de cada usuario (blogger).
(5) La carpeta de recursos de medios almacena archivos de recursos, como imágenes de artículos cargadas por usuarios (blogueros), imágenes en la pared de imágenes y avatares de usuarios (blogueros. Dichos archivos de recursos cambian con frecuencia, por lo que son diferentes de los recursos estáticos. almacenamiento. camino.

(6) La carpeta de recursos estáticos almacena recursos estáticos, como archivos de estilo CSS de páginas web, archivos de script JavaScript e imágenes de páginas web. Si se crean varias aplicaciones de proyecto en el proyecto y las carpetas de recursos estáticos se crean por separado en cada aplicación de proyecto, al actualizar o modificar el diseño de la página web, no es propicio para el mantenimiento y la administración en el futuro.

(7) La carpeta de plantillas templates almacena archivos de plantilla. Este proyecto utiliza un total de 7 archivos de plantilla. La descripción de cada archivo de plantilla es la siguiente:

  • base.html define el archivo de plantilla común para el proyecto.

  • album.html se da cuenta del contenido de la página web de la pared de imágenes.

  • article.html implementa la página de lista de artículos.

  • board.html implementa el contenido de la página web del tablero de mensajes.

  • detail.html implementa la página de contenido del cuerpo del artículo.

  • user.html implementa el registro de usuarios y las páginas de inicio de sesión.

  • about.html implementa la página de información del perfil del usuario (blogger).

4. Configuración de funciones

Escriba la cuenta de la aplicación del proyecto, el álbum, el artículo y el interflujo en el atributo de configuración INSTALLED_APPS del archivo de configuración de Django setting.py, y agregue el middleware LocaleMiddleware en el atributo de configuración MIDDLEWARE, para que el sistema adquirido por el administrador admita el idioma chino. como sigue:

# 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',
]

El almacenamiento de datos del proyecto adopta la base de datos MySQL. Creamos blogdb en MySQL y establecemos el método de conexión de datos en la propiedad de configuración DATABASES. El código de configuración es el siguiente:

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

Finalmente, introduzca la carpeta estática estática y la carpeta de recursos de medios en el entorno operativo de Django, y cambie el modelo de usuario incorporado de Django User al modelo personalizado MyUser de la cuenta de la aplicación del proyecto. El código de configuración es el siguiente:

# 配置自定义用户模型 应用.模型
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")

Supongo que te gusta

Origin blog.csdn.net/qq_45723275/article/details/120458603
Recomendado
Clasificación