Tabla de contenido
1. Usa pycharm para crear un proyecto Django
2. Comience la verificación del proyecto Django
3. Configurar la base de datos mysql
1. Instale la base de datos mysql localmente
1) Instalar la base de datos mysql
2) Cree una base de datos usted mismo
3. Configurar la base de datos mysql
1) Agregue _init_.py bajo el mismo nombre del paquete del proyecto
2) En el archivo settings.py, reemplace el contenido en BASES DE DATOS
4. Migración de datos por defecto de Django
2) Ver los resultados de la migración de datos
5. Cree un superadministrador en segundo plano
4. Inicie sesión en el sistema de fondo
2. Inicie sesión en el sistema de fondo
5. Crear una aplicación de aplicación
1. Comando para crear una aplicación
2. Configure la aplicación en INSTALLED_APPS en la configuración
6. Configurar el enrutamiento de aplicaciones
1. Configurar la ruta principal
2. Configurar el enrutamiento de subaplicaciones
1. Determinar si la configuración de la plantilla es correcta
2. Cree una página html de muestra
9. Optimice e implemente la obtención y publicación simples
2. Usa el método get para darte cuenta
1) Configurar la página de vistas
2) Optimizar la página de inicio de sesión
3. Usa el método de publicación para darte cuenta
1) Configurar la página de vistas
2) Optimizar la página de inicio de sesión
10. Continúe optimizando y utilizando el método de base de datos para el juicio de datos
1. Agregue el modelo de datos en model.py
2. Migrar el modelo de datos a la base de datos
3. Crear datos para operaciones posteriores
12. Tablas de base de datos anti-mapeo a modelos django
Prefacio: este artículo implementa django para construir una página web de 0 a 1, realiza django para conectarse a la base de datos mysql, obtener y publicar solicitudes simples, etc.
1. Usa pycharm para crear un proyecto Django
Ligeramente, la versión profesional se puede crear directamente
Esta es la biblioteca de terceros creada por la inicialización
2. Comience la verificación del proyecto Django
entrada de terminal de pycharm
python manage.py runserver
acceso:
Pequeño episodio: Error al inicio: 'DIRS': [os.path.join(BASE_DIR, 'templates')]
NameError: el nombre 'os' no está definidoMi solución es: import os al principio del archivo settings.py
Hay otros métodos en Internet (el blogger no lo intentó): Modifique el "'DIRS' generado por defecto: [os.path.join(BASE_DIR, 'templates')]", modifíquelo de la siguiente manera: 'DIRS': [Path (
BASE_DIR, 'plantillas')]
3. Configurar la base de datos mysql
1. Instale la base de datos mysql localmente
1) Instalar la base de datos mysql
Estoy usando 5.7.22 (mi versión), la instalación es ligeramente
2) Cree una base de datos usted mismo
Crear un nombre de base de datos: smalldjangodb
2. Instalar pymysql
pip install pymysql
3. Configurar la base de datos mysql
1) Agregue _init_.py bajo el mismo nombre del paquete del proyecto
import pymysql
pymysql.install_as_MySQLdb()
2) En el archivo settings.py, reemplace el contenido en BASES DE DATOS
Primero comente la configuración de la base de datos predeterminada en la siguiente figura
Copie la siguiente parte y modifíquela.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',#数据库的类型
'NAME': '', #所使用的的数据库的名字
'USER': 'root', #数据库服务器的用户
'PASSWORD': '', #密码
'HOST': '127.0.0.1', #主机
'PORT': '3306', #端口
}
}
4. Migración de datos por defecto de Django
1) Ejecutar la migración y migrar el modelo de aplicación original en el proyecto a la base de datos sincrónicamente
entrada de terminal de pycharm
python manage.py migrate
2) Ver los resultados de la migración de datos
5. Cree un superadministrador en segundo plano
entrada de terminal de pycharm
python manage.py createsuperuser
Nombre de usuario, correo electrónico (ingrese casualmente, la interfaz está en el formato correcto), contraseña
El registro aquí es la supercontraseña qq+abreviatura del nombre (un registro para usted)
4. Inicie sesión en el sistema de fondo
1. Iniciar el servicio
python manage.py runserver
2. Inicie sesión en el sistema de fondo
Utilice la cuenta de superadministración creada en el paso anterior para iniciar sesión en el sistema
http://127.0.0.1:8000/administrador
Página de éxito de inicio de sesión:
5. Crear una aplicación de aplicación
1. Comando para crear una aplicación
entrada de terminal de pycharm
python manage.py startapp lucky
2. Configure la aplicación en INSTALLED_APPS en la configuración
Agrega la aplicación lucky a INSTALLED_APPS en los ajustes de configuración
6. Configurar el enrutamiento de aplicaciones
1. Configurar la ruta principal
Cree un archivo de enrutamiento secundario urls.py en la carpeta de la aplicación lucky
Cámbiala por la siguiente imagen:
Para múltiples aplicaciones, configure múltiples rutas principales
2. Configurar el enrutamiento de subaplicaciones
Entrada (aquí views.toLoginView se refiere al método toLoginView en las vistas de la aplicación Lucky, que se explicará en el siguiente paso):
from django.urls import path
from . import views
urlpatterns = [
path('', views.toLoginView, name='toLoginView'),
]
3. Configurar vistas
Abra las vistas en el directorio de la suerte de la aplicación.
from django.shortcuts import render
# Create your views here.
def toLoginView(request):
return render(request, 'login.html')
Siete, crea una página html
1. Determinar si la configuración de la plantilla es correcta
2. Cree una página html de muestra
Cree un login.html bajo plantillas
8. Acceso
Iniciar dirección de acceso al servicio: http://127.0.0.1:8000/lucky/
Abierto: settings.py abre el modo de depuración DEBUG = Falso ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
9. Optimice e implemente la obtención y publicación simples
1. Configurar el enrutamiento
from django.urls import path
from . import views
urlpatterns = [
path('', views.toLoginView),
path('index/', views.loginView),
]
2. Usa el método get para darte cuenta
1) Configurar la página de vistas
from django.http import HttpResponse
from django.shortcuts import render
# Create your views here.
def toLoginView(request):
return render(request, 'login.html')
def loginView(request):
username = request.GET.get('user', '') # 后面的''表示获取不到user就赋值空
password = request.GET.get('pwd', '')
if username and password:
return HttpResponse("登录成功")
else:
return HttpResponse("登录失败")
2) Optimizar la página de inicio de sesión
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<form action="/lucky/index/" method="get">
<p><label>用户名:</label><input name="user" /></p>
<p><label>密码:</label><input name="pwd" /></p>
<input type="submit" value="登录">
</form>
</body>
</html>
3) Mostrar los resultados
Iniciar servicio http://127.0.0.1:8000/lucky/
Inicio de sesión correcto
La desventaja de la solicitud de obtención es que la contraseña de la cuenta está expuesta en la URL, por lo que el método de publicación se explicará a continuación.
3. Usa el método de publicación para darte cuenta
1) Configurar la página de vistas
from django.http import HttpResponse
from django.shortcuts import render
# Create your views here.
def toLoginView(request):
return render(request, 'login.html')
def loginView(request):
username = request.POST.get('user', '') # 后面的''表示获取不到user就赋值空
password = request.POST.get('pwd', '')
# if username=='admin' and password=='1':
if username and password:
return HttpResponse("登录成功")
else:
return HttpResponse("登录失败")
2) Optimizar la página de inicio de sesión
Cambiar lo anterior para publicar
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<form action="/lucky/index/" method="post">
<p><label>用户名:</label><input name="user" /></p>
<p><label>密码:</label><input name="pwd" /></p>
<input type="submit" value="登录">
</form>
</body>
</html>
3) Mostrar los resultados
Iniciar servicio http://127.0.0.1:8000/lucky/
10. Continúe optimizando y utilizando el método de base de datos para el juicio de datos
1. Agregue el modelo de datos en model.py
from django.db import models
# Create your models here.
class UserInfo(models.Model):
id = models.CharField(primary_key=True,max_length=20)
name = models.CharField(max_length=20)
password = models.CharField(max_length=20)
2. Migrar el modelo de datos a la base de datos
Tenga en cuenta que mysql debe poder admitir el acceso en este momento
python manage.py makemigrations lucky
Migrar datos a la base de datos mysql
python manage.py migrate
Para la verificación de la base de datos:
3. Crear datos para operaciones posteriores
4. Modificar vistas.py
from django.http import HttpResponse
from django.shortcuts import render
from .models import *
# Create your views here.
def toLoginView(request):
return render(request, 'login.html')
def loginView(request):
user_name = request.POST.get('user', '') # 后面的''表示获取不到user就赋值空
pass_word = request.POST.get('pwd', '')
# if user_name=='admin' and pass_word=='1':
if user_name and pass_word:
exit_user =UserInfo.objects.filter(name= user_name,password = pass_word).count()
if exit_user >= 1:
return HttpResponse("登录成功!")
else:
return HttpResponse("帐号密码错误!")
else:
return HttpResponse("请输入正确用户名和密码!")
5. Verificación
11. Realizar registro
1. Página de registro
Crear register.html bajo plantillas
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册</title>
</head>
<body>
<form action="/lucky/register/" method="post">
{% csrf_token %}
<p><label>用户名:</label><input name="user" /></p>
<p><label>密码:</label><input name="pwd" /></p>
<input type="submit" value="注册">
</form>
</body>
</html>
2. Configurar el enrutamiento
from django.urls import path
from . import views
urlpatterns = [
path('', views.toLoginView),
path('index/', views.loginView),
path('toregister/', views.toRegisterView),
path('register/', views.registerView),
]
3. Crea un método de registro
Cree el método registerView y el método toRegisterView en el archivo views.py
from django.http import HttpResponse
from django.shortcuts import render
from .models import *
# Create your views here.
def toLoginView(request):
return render(request, 'login.html')
def loginView(request):
user_name = request.POST.get('user', '') # 后面的''表示获取不到user就赋值空
pass_word = request.POST.get('pwd', '')
# if user_name=='admin' and pass_word=='1':
if user_name and pass_word:
exit_user = UserInfo.objects.filter(name=user_name, password=pass_word).count()
if exit_user >= 1:
return HttpResponse("登录成功!")
else:
return HttpResponse("帐号密码错误!")
else:
return HttpResponse("请输入正确用户名和密码!")
# 渲染注册页面
def toRegisterView(request):
return render(request, 'register.html')
# 注册的逻辑判断
def registerView(request):
user_name = request.POST.get('user', '')
pass_word = request.POST.get('pwd', '')
if user_name and pass_word:
register_user = UserInfo(name=user_name, password=pass_word)
register_user.save()
return HttpResponse("注册成功!")
else:
return HttpResponse("请输入完整的用户名和密码!")
4. Verificación de acceso
Tenga en cuenta que el nombre de la aplicación debe agregarse a la ruta de acceso, que está relacionada con la configuración de enrutamiento
Visita http://127.0.0.1:8000/lucky/toregister/
registración exitosa
validación de base de datos
Este es el registro más una sentencia repetida
# 注册的逻辑判断
def registerView(request):
user_name = request.POST.get('user', '')
pass_word = request.POST.get('pwd', '')
if user_name and pass_word:
exit_user = UserInfo.objects.filter(name=user_name).count()
if exit_user:
return HttpResponse("对不起,当前账户已存在!请换一个id注册")
else:
register_user = UserInfo(name=user_name, password=pass_word)
register_user.save()
return HttpResponse("注册成功!")
else:
return HttpResponse("请输入完整的用户名和密码!")
12. Tablas de base de datos anti-mapeo a modelos django
Esto mapeará todas las tablas en la base de datos.
# lucky 是django的应用名
python manage.py inspectdb>lucky/models.py