Django crea un proyecto, explica la configuración de los ajustes, configura la base de datos mysql y migra la base de datos.

Este blog presenta cómo construir su primer proyecto de Django y mejorar este proyecto. Por favor, comprenda si hay alguna deficiencia. Introduzca cómo crear un proyecto, explique la configuración de ajustes, configure la base de datos mysql y migre la base de datos.

   工具:   pycharm2020
   <Django 从入门到 ‘放弃’ >  第二篇
   沙漏在下雨

Esta columna presenta cómo pasé de empezar con Django a "rendirme". Hay proyectos básicos y complicados. Gastaré mi propio dinero para ir a cursos de formación para compartir con ustedes. ¡Vamos a estudiar juntos! Esta es la primera vez que publico una serie de tutoriales. Por favor, avíseme sobre las deficiencias. ¡Soy un junior preparándome para la fiesta de exámenes de ingreso de posgrado!


Cree el primer proyecto (proyecto):

  • Use la línea de comando o use pycharm a continuación terminal

Inserte la descripción de la imagen aquí

  • Después de que la creación sea exitosa, abra el árbol de archivos.

Inserte la descripción de la imagen aquí

  • Primero ignora la aplicación del proyecto nowapp. Una vez creada, abre la subcarpeta nowproject. Hay algunos archivos de configuración más en ella. La introducción es la siguiente:

    1) archivo manage.py

    El archivo manage.py en el subdirectorio de primer nivel es una importante herramienta de línea de comandos para administrar proyectos de Django. Se utiliza principalmente para iniciar proyectos, crear aplicaciones y completar la migración de bases de datos.

    2) archivo init .py

    Dos subdirectorios del directorio de archivos init .py para identificar la ubicación actual es un paquete de Python, si está en este archivo, o por otros métodos, los paquetes de introducción de Django de importación se identificarán automáticamente.

    3) archivo settings.py

    El archivo settings.py es un archivo de configuración importante para el proyecto Django. Cuando se inicia el proyecto, se llamará automáticamente al archivo de configuración settings.py, y algunos de los globales que define proporcionan parámetros para el funcionamiento de Django. También puede personalizar algunas variables en este archivo de configuración para la transferencia de datos en el ámbito global.

    4) archivo urls.py

    El archivo url.py se utiliza para registrar la relación de mapeo de URL del proyecto Django. Pertenece al archivo de configuración de enrutamiento básico del proyecto. El sistema de enrutamiento se configura en este archivo. La ruta dinámica en el proyecto debe coincidir con este archivo para realizar la Web Acceso a recursos en el sitio.

    5) archivo wsgi.py

    wsgi.py es el archivo de entrada del programa de servidor WSGI (Web Server Gateway Interface), que se utiliza principalmente para iniciar la aplicación. Cumple con el protocolo WSGI y es responsable de la realización de la parte de comunicación de la red. Solo se utiliza cuando el proyecto está desplegado.

    6) archivo asgi.py

    El archivo asgi.py es la configuración asgi del proyecto django y expone el ASGI invocable como una variable de nivel de módulo denominada "aplicación". Para obtener más información sobre este archivo, consulte https://docs.djangoproject.com/en/3.1/howto/deployment/asgi/

Ejecute su proyecto de django:

Ingrese los siguientes comandos en la línea de comando:

py manage.py runserver

Inserte la descripción de la imagen aquí

Después de un inicio exitoso, el propio archivo de base de datos de Django, db.sqlite3, se generará en este directorio, que es una base de datos liviana que viene con Django por defecto. Visite el proyecto creado a través de http://127.0.0.1:8000, 8000 es Número de puerto predeterminado de Django. Finalmente, si desea salir del estado de ejecución, puede terminarlo presionando CTRL + C.

Haga clic en el enlace de este nombre de dominio y se creará correctamente de la siguiente manera:

Inserte la descripción de la imagen aquí

Esto significa que ha creado el proyecto y lo ha ejecutado correctamente. En este momento, encontrará que la línea de comandos actualiza constantemente las entradas. Esto significa que Django generalmente está en un estado de ejecución, por lo que puede ser en tiempo real durante el desarrollo del proyecto. Pruebe o depure el código.

Si desea ejecutar en otros números de puerto:

py manage.py runserver 8080

O ejecutándose en otras computadoras en la LAN:
py manage.py runserver 0.0.0.0:8080


comando de archivo manage.py:

En la consola ingresamos py manage.py helpalgún mensaje de ayuda que se imprime:

Algunos de estos comandos se utilizarán más adelante y no es necesario dominarlos.

Type 'manage.py help ' for help on a specific subcommand.

Available subcommands:

[auth]
    changepassword
    createsuperuser

[contenttypes]
    remove_stale_contenttypes

[django]
    check
    compilemessages
    createcachetable
    dbshell
    diffsettings
    dumpdata
    flush
    inspectdb
    loaddata
    makemessages
    makemigrations
    migrate
    sendtestemail
    shell
    showmigrations
    sqlflush
    sqlmigrate
    sqlsequencereset
    squashmigrations
    startapp
    startproject
    test
    testserver

[sessions]
    clearsessions

[staticfiles]
    collectstatic
    findstatic
    runserver

El archivo de configuración explica la configuración:

El archivo de configuración es un archivo de configuración importante del marco de Django. Algunas variables globales que define se utilizan para pasar parámetros al marco de Django. También podemos modificar este archivo de acuerdo con nuestras necesidades reales para lograr ciertos requisitos específicos. Vamos a presentar este archivo de configuración en detalle. Comprender este archivo de configuración es un paso importante en el mundo de Django.

1) BASE_DIR

Se utiliza para vincular la ruta absoluta de la librería del proyecto actual. Todos los archivos del proyecto deben basarse en esta ruta. El método para vincular la ruta es el siguiente:

BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

__file__Es la sintaxis de Python, muestra la ubicación del archivo actual y el os.path.abspath(__file__)método devuelve la ruta absoluta del archivo actual.

2) SECRET_KEY

La esencia de esta variable es una clave encriptada, que generalmente se usa junto con el algoritmo de encriptación Hash y MD5. Por ejemplo, SECRET_KEY es necesario para cifrar las contraseñas de usuario o el ID de sesión que se utiliza al establecer una sesión. En el trabajo de desarrollo real, generalmente se guarda en la variable de entorno del sistema para garantizar la seguridad de la clave de cifrado.

3) DEPURAR

Hay dos formas de configurar el modo de habilitación del proyecto Django:

  • DEBUG = True se utiliza en el entorno de desarrollo y pertenece al modo de depuración. Algunos mensajes de error se expondrán durante la ejecución del proyecto para facilitar la depuración.
  • DEBUG = False se usa en el entorno en línea, lo que significa que el modo de depuración no está habilitado.

Cuando escribimos el código, configúrelo en True.

4) ALLOWED_HOSTS

Se utiliza para configurar el nombre de dominio (dirección IP) que puede acceder al sitio actual. Cuando DEBUG = False, se debe completar. Hay tres formas de usarlo:

  • [], una lista vacía, significa que solo 1217.0.0.1 y localhost pueden acceder a este proyecto;
  • ['*'], lo que significa que cualquier dirección de red puede acceder al proyecto actual;
  • ['192.168.1.3', '192.168.3.3'] significa que solo los dos hosts actuales pueden acceder al proyecto actual.

Sugerencia: si está en una red de área local, para que otros hosts también puedan acceder a este sitio, debe usar ALLOWED_HOSTS = ['*'].

5) INSTALLED_APPS

Este parámetro se refiere a la lista de aplicaciones (APP) que se utilizan para instalar en el proyecto actual. Django coloca las aplicaciones integradas predeterminadas en esta lista, como la aplicación en segundo plano Admin, el sistema de gestión de usuarios de autenticación, etc. También usamos estos dos módulos antes Se introducen en consecuencia y se denominan "aplicaciones" en Django.

Podemos agregarlos o eliminarlos de acuerdo con los requisitos de nuestro propio proyecto. Por ejemplo, si la empresa desea desarrollar un sistema de administración de back-end por separado, puede comentar el primer elemento de administrador. Las aplicaciones escritas por uno mismo durante el desarrollo deben registrarse en esta tabla de variables para que surtan efecto. Entonces esta lista necesita cambios frecuentes.

Por ejemplo, en nuestro proyecto, debemos registrar la aplicación.

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles' ,
'你 的 应用',
]

6) MIDDLEWARE

Se utiliza para registrar middleware y Django carga algunos middleware de forma predeterminada. Por ejemplo, SessionMiddleware para procesar sesiones, MessageMiddleware para procesar mensajes, etc. También podemos agregar o comentar estos middleware. Más tarde, también podemos escribir nuestra propia función de gancho de extensión de middleware para la extensión.

7) ROOT_URLCONF

ROOT_URLCONF = 'nowproject.urls'

Especifica la URL raíz del proyecto actual y es el punto de entrada del sistema de enrutamiento de Django.

8) PLANTILLAS

Se utiliza para especificar la información de configuración de la plantilla.Cada elemento de la lista es un diccionario. El siguiente es el motor de plantilla predeterminado de Django:

TEMPLATES = [
    {
    
    
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [], # 在这里我们可以设置自己的templates模板位置
        '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',
            ],
        },
    },
]

9) WSGI_APPLICATION

WSGI_APPLICATION = 'BookStore.wsgi.application'

Cuando se implementa el proyecto, la ruta completa de Python del objeto de la aplicación WSGI que usará el servidor integrado de Django.

10) BASES DE DATOS

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } 

Se utiliza para especificar la información de configuración de la base de datos. La configuración predeterminada aquí es la base de datos sqllite3 que viene con Django. Django admite varias bases de datos. Cambie la configuración de la base de datos en esta variable de diccionario. En los siguientes capítulos, explicaremos la configuración de la base de datos Mysql.

11) AUTH_PASSWORD_VALIDATORS

Este es un validador de contraseñas conectable que se puede configurar para múltiples a la vez. Django usa estos componentes integrados para evitar el problema de niveles de contraseña insuficientes establecidos por los usuarios.

AUTH_PASSWORD_VALIDATORS = [ 
    
    {
    
            'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',    }, 
    {
    
            'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',   },  
    {
    
            'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',  },
]

12) LANGUAGE_CODE 和 TIME_ZONE

Representan los elementos de configuración de idioma y los elementos de configuración de la zona horaria actual del servidor, respectivamente. Nuestras configuraciones de uso común son las siguientes:

  • El valor de LANGUAGE_CODE es inglés: 'en-us' o chino: 'zh-Hans';
  • El valor de TIME_ZONE es la zona horaria mundial'UTC 'o la zona horaria china' Asia / Shanghai '.

Por lo tanto, debemos cambiar la configuración de TIME_ZONE a la zona horaria china (zh-Hans) y cambiar la configuración de LANGUAGE_CODE a chino (Asia / Shanghai) ; de lo contrario, el tiempo de almacenamiento de la base de datos será inferior a 8 horas, porque es el distrito East Eight.

13) USE_118N 和 USE_L10N

Una vez desarrollado el proyecto, puede optar por proporcionar servicios a los usuarios en diferentes países, por lo que debe respaldar la internacionalización y la localización. Los valores de las dos variables USE_118N y USE_L10N indican si habilitar las funciones de internacionalización y localización. El estado está activado de forma predeterminada.

Sugerencias: USE_I18N = True y USE_L10N = True, I18N se refiere a la abreviatura inglesa internacionalizada y L10N se refiere a la abreviatura inglesa localizada.

14) USE_TZ = Verdadero

Se refiere al método de procesamiento de la zona horaria. Cuando se establece en True, la hora almacenada en la base de datos es la hora mundial'UTC '. Cuando se establece TIME_ZONE, USE_TZ debe establecerse == False .

15) STATIC_URL = '/ estático /'

Se refiere a la ubicación de almacenamiento de recursos estáticos, que incluyen CSS, JS e imágenes. Por ejemplo, queremos agregar algunas imágenes al proyecto. Por lo general, estas imágenes estáticas se almacenan en el directorio estático de la recién creada (en el mismo directorio que la aplicación), por lo que el acceso a los recursos estáticos a través de la ruta STATIC_URL = '/ static /' se realiza , Abriremos un capítulo para explicar esto más adelante.


Configuración de Django base de datos mysql:

Primero asegúrese de haber instalado la base de datos mysql correctamente, que la instalación sea exitosa y cree una base de datos en su base de datos.

create database django;

Luego ingrese las BASES DE DATOS en la configuración y configure de la siguiente manera:

DATABASES = {
    
    
    'default': {
    
    
        'ENGINE': 'django.db.backends.mysql',  # 指定使用的数据库引擎,可以通过 Django.db.backends 来查看哪些数据库可以与 Django 配合使用;
        'NAME': 'django',  # 数据库名字
        'USER': "root",  # mysql 用户名称
        'PASSWORD': '123123',  # 数据库的密码
        'HOST': "127.0.0.1",  # 数据库服务地址, 这里我们是测试开发 填本地地址 
        'PORT': 3306,   # mysql 对应的端口号 
        'default-character-set': "UTF8",  # 设置编码规则 utf8 
    }

}

Entonces necesitas instalar la biblioteca pymysql pip install PyMySQL

Finalmente, agregue un fragmento de código al archivo __init__ en el mismo nivel de configuración:

import pymysql 
pymysql.install_as_MySQLdb()

Esto completa la configuración de la base de datos mysql, y los datos que creamos se guardarán correctamente en el archivo mysql local y se podrán ver correctamente.

Migración de la base de datos:

Cuando creamos un proyecto, cmd imprimirá algunas advertencias de error, indicando que no hemos realizado la migración de datos. "Migración" significa migrar las tablas de datos de las aplicaciones integradas por defecto de Django a nuestra propia base de datos creada. La operación es la siguiente:

py manage.py migrate

Después de ejecutar, podemos imprimir la información de MySQL a través de cmd para obtener:

Inserte la descripción de la imagen aquí

También necesitamos usar un comando, porque si el campo de datos actual cambia, entonces obtenemos el formulario incorrecto,

Usar comandos

python manage.py makemigrations

1) makegrations genera un archivo de migración de base de datos

Cuando se cambia la tabla de datos, primero ejecutamos el comando makemigrations, y luego Django regenerará un nuevo archivo de migración de base de datos para registrar la diferencia entre la estructura de la tabla, la regla de nomenclatura es agregar 1 al número de serie del archivo de migración anterior, como 0002_xxx , 0003_xxx.

2) migrar para realizar el comando de migración de la base de datos

Después de eso, ejecute el comando migrate nuevamente para que el nuevo archivo de migración sea efectivo y sincronice nuevamente con la base de datos, completando así la modificación de la definición de la estructura de la tabla. Para las aplicaciones integradas de Django, se ha generado el archivo de migración de la base de datos, así que solo use el comando migrate directamente.

3) resumen completo de la migración de la base de datos

Cada vez que se cambia la tabla de datos, se deben ejecutar los siguientes dos comandos, y su orden de ejecución es el siguiente:

Python manage.py makemigrations
python manag.py migrar

Estos son los comandos que ejecutaremos después de crear un nuevo formulario de modelo, para evitar olvidar.

Lo anterior trata sobre cómo crear un proyecto en Django, explicar la configuración de la configuración y la configuración de la base de datos y la migración de la base de datos.

Agregue 1 al número, como 0002_xxx, 0003_xxx.

2) migrar para realizar el comando de migración de la base de datos

Después de eso, ejecute el comando migrate nuevamente para que el nuevo archivo de migración sea efectivo y sincronice nuevamente con la base de datos, completando así la modificación de la definición de la estructura de la tabla. Para las aplicaciones integradas de Django, se ha generado el archivo de migración de la base de datos, así que solo use el comando migrate directamente.

3) resumen completo de la migración de la base de datos

Cada vez que se cambia la tabla de datos, se deben ejecutar los siguientes dos comandos, y su orden de ejecución es el siguiente:

Python manage.py makemigrations
python manag.py migrar

Estos son los comandos que ejecutaremos después de crear un nuevo formulario de modelo, para evitar olvidar.

Lo anterior trata sobre cómo django crea un proyecto, explica la configuración de la configuración y configura la base de datos mysql y la operación de migración de la base de datos.

Esta columna presenta cómo comencé con Django 放弃. Hay proyectos básicos y complicados. Gastaré mi propio dinero para ir a cursos de capacitación para compartir con ustedes. ¡Vamos a estudiar juntos! Esta es la primera vez que publico una serie de tutoriales. Por favor avíseme sobre las deficiencias. ¡Soy un junior preparándome para la fiesta de exámenes de ingreso de posgrado!

Supongo que te gusta

Origin blog.csdn.net/qq_45906219/article/details/109392318
Recomendado
Clasificación