Directorio de artículos
Marco web de Python
- Django : Totalmente funcional, todo es fácil de usar
- Matraz: Pequeño y hermoso, debe ensamblarlo usted mismo, flexible
Uno, conceptos básicos de Django
1.1 Instalación
pip instalar django
pip instalar mysqlclient
1.2. Usa django para crear un proyecto de servidor web
blog startproject de django-admin
1.3. Ejecutar servicios del sitio web
python manage.py runserver
-
Ingrese a la primera carpeta del blog y ejecute:
-
Ingrese al sitio web http://127.0.0.1:8000/:
La siguiente interfaz se genera de forma predeterminada
1.4 Crear una página web
-
Abra la segunda carpeta del blogurls.pyexpediente
-
Como se muestra en la figura siguiente, agregue la declaración y cree un archivo
-
Vuelva a ingresar a la página web http://127.0.0.1:8000/:
-
Solución: Agregar los archivos específicos
anteriores es una simple solicitud de servicio web. Con Django, solo necesitamos configurar el enrutamiento y luego vincular la función de procesamiento para realizar el procesamiento lógico
1.5 Establecer la ruta principal
El acceso directo a la ruta principal http://127.0.0.1:80jing00/ informará un error:
porque la ruta principal de la ruta principal no se agrega a la función de procesamiento de la ruta
2. Visualización de la página web
2.1 Archivos relacionados con la configuración
-
Configurar el archivo de enrutamiento urls.py
-
Crear usuario de función en views.py
-
Cree el archivo templas y el subarchivo user.html
en el mismo nivel: manage.py y tempaltes
-
Configurar el archivo settings.py
2.2 Código de escritura
- función de usuario en views.pyEl contenido es el siguiente:
def user(request):
#get请求 传入 名字,然后在网页上显示:你好,名字
#创建html模板h和manage.py同一级创建templates文件夹
#该文件夹下创建user.html
#http://127.0.0.1:8000/users?name=Tom
name = request.Get['name']
context = {
'name': name}#用字典传输名字
return render(request,'user/user.html',context)
- El contenido de user.html es el siguiente
<h1>你好,{
{name}}</h1>>
- resultado de la operación
2.3 solicitud HTTP
- Inicie la solicitud anterior a través de VS Code
Instale el cliente REST extendido
- crear un nuevo archivotest.http
- Como se muestra en la figura siguiente, haga clic enMostaza Ruquest
Tres, conéctese a la base de datos
3.1 Conexión a la base de datos
Método ORM de instrucción SQL : SQLAlchemy
-
settings.py establece la base de datos
-
Generar aplicación:
usuario de django-amdin startapp
- settings.py únete a la aplicación
- La operación de Django en los datos de la base de datos es models.py en user
- La base de datos genera una tabla de gestión de permisos que viene con python Django
- Generar tablas definidas por el usuario:
python manage.py makemigrations usuario
le dice a Django que genere la tabla de usuario para el modelo de usuario definido
- python manage.py migrar usuario
solo necesita actualizar usuario
- Ver la base de datos, el
segundo usuario es el nombre de la clase
3.2 Agregar datos
Este paso agrega información a la base de datos. La solicitud http para agregar información a la base de datos es POST, pero el navegador solo puede realizar operaciones GET, por lo que el cliente REST se usa para solicitudes POST
- archivo test.http
POST http://127.0.0.1:8000/users/ HTTP/1.1
Content-Type: application/json
{
"name":"Hendeff",
"score":"66"
}
- archivo views.py
def user(request):
#判断请求
if request.method == "GET":
#get请求 传入 名字,然后在网页上显示:你好,名字
#创建html模板h和manage.py同一级创建templates文件夹
#该文件夹下创建user.html
#http://127.0.0.1:8000/users?name=Tom
name = request.GET['name']
context = {
'name': name}#用字典传输名字
return render(request,'user.html',context)
elif request.method == "POST":
params = json.loads(request.body)
name = params['name']
score = params['score']
u1 = User(name=name, score=score)
u1.save()
return HttpResponse('user_id'+str(u1.id)+"已经添加")
else:
return render(request,'user.html', {
})
Enviar: [Primero comente la siguiente declaración en settings.py]
Hasta ahora, hemos completado la información de transmisión del usuario y luego la pasamos a Django, y luego operamos juzgando la solicitud.
3.3 Consultar datos
- función de usuario en views.py
if request.method == "GET":
#get请求 传入 名字,然后在网页上显示:你好,名字
#创建html模板h和manage.py同一级创建templates文件夹
#该文件夹下创建user.html
#http://127.0.0.1:8000/users?name=Tom
id = request.GET['id']
#在数据库中查询
u1 = User.objects.get(id=id)
context ={
'id': u1.id, 'name': u1.name,'score': u1.score}
return render(request,'user.html',context)
- user.html
<h1>你好,{
{name}}</h1>
<h1>学号,{
{id}}</h1>
<h1>成绩,{
{score}}</h1>
- test.http
GET http://127.0.0.1:8000/users?id=1 HTTP/1.1
3.4 Modificar datos
- función de usuario en views.py
elif request.method == "PUT":
params = json.loads(request.body)
id = params['id']
name = params['name']
score = params['score']
u1 = User.objects.get(id=id)#查询
u1.name = name
u1.score = score
u1.id = id
u1.save()
return HttpResponse('user_id'+str(u1.id)+"已经修改")
- test.http
PUT http://127.0.0.1:8000/users/ HTTP/1.1
Content-Type: application/json
{
"id":1,
"name":"Tom",
"score":88
}
para resumir
Pregunta 1: comprender el concepto de enrutamiento
Comprender la ruta de la página web y la ruta del archivo es la ruta: de la
siguiente manera:
https://www.zhihu.com/question/439434803?utm_division=hot_list_page
La pregunta corresponde a una carpeta, 439434803 corresponde a un archivo problemático específico.
Pregunta 2: Django se reinicia automáticamente
Siempre que guardemos un archivo, Django lo guardará automáticamente (puedes guardar la prueba sin poner el GIF)
Pregunta 3: configuración settings.py DIR
este escorrectode:
'DIRS': [os.path.join (BASE_DIR, 'templates /')],
este eserror的: (Pero el profesor puede ejecutar esta configuración, la mía ha estado mostrando errores)
'DIRS': [BASE_DIR + '/ templates'],
Siempre se mostrará el siguiente error