Django basado en Python Web


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

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

1.3. Ejecutar servicios del sitio web

python manage.py runserver

Inserte la descripción de la imagen aquí

  1. Ingrese a la primera carpeta del blog y ejecute:
    Inserte la descripción de la imagen aquí

  2. Ingrese al sitio web http://127.0.0.1:8000/:

La siguiente interfaz se genera de forma predeterminada
Inserte la descripción de la imagen aquí

1.4 Crear una página web

  • Abra la segunda carpeta del blogurls.pyexpediente
    Inserte la descripción de la imagen aquí

  • Como se muestra en la figura siguiente, agregue la declaración y cree un archivo
    Inserte la descripción de la imagen aquí
    Inserte la descripción de la imagen aquí
    Inserte la descripción de la imagen aquí

  • Vuelva a ingresar a la página web http://127.0.0.1:8000/:
    Inserte la descripción de la imagen aquí

  • Solución: Agregar los archivos específicos
    Inserte la descripción de la imagen aquí
    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

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí


2. Visualización de la página web

2.1 Archivos relacionados con la configuración

  • Configurar el archivo de enrutamiento urls.py
    Inserte la descripción de la imagen aquí

  • Crear usuario de función en views.py
    Inserte la descripción de la imagen aquí

  • Cree el archivo templas y el subarchivo user.html
    en el mismo nivel: manage.py y tempaltes
    Inserte la descripción de la imagen aquí

  • Configurar el archivo settings.py
    Inserte la descripción de la imagen aquí

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
    Inserte la descripción de la imagen aquí

2.3 solicitud HTTP

Tutorial de HTTP
Inserte la descripción de la imagen aquí

  • Inicie la solicitud anterior a través de VS Code

Instale el cliente REST extendidoInserte la descripción de la imagen aquí

  • crear un nuevo archivotest.http

Inserte la descripción de la imagen aquí

  • Como se muestra en la figura siguiente, haga clic enMostaza Ruquest

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí


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
    Inserte la descripción de la imagen aquí

  • Generar aplicación:

usuario de django-amdin startapp

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

  • settings.py únete a la aplicación
    Inserte la descripción de la imagen aquí
  • La operación de Django en los datos de la base de datos es models.py en user
    Inserte la descripción de la imagen aquí
    Inserte la descripción de la imagen aquí
  • La base de datos genera una tabla de gestión de permisos que viene con python Django
    Inserte la descripción de la imagen aquí
  • 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
Inserte la descripción de la imagen aquí

  • python manage.py migrar usuario
    solo necesita actualizar usuario
    Inserte la descripción de la imagen aquí
  • Ver la base de datos, el
    segundo usuario es el nombre de la clase
    Inserte la descripción de la imagen aquí

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

Inserte la descripción de la imagen aquí

  • archivo test.http
POST http://127.0.0.1:8000/users/ HTTP/1.1
Content-Type: application/json

{
    "name":"Hendeff",
    "score":"66"
}

Inserte la descripción de la imagen aquí

  • 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]
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
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

Inserte la descripción de la imagen aquí

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
}

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

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.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
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)
Inserte la descripción de la imagen aquí
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
Inserte la descripción de la imagen aquí

Este es un campo que nunca había tocado antes. Soy un novato y un novato. Habrá errores al escribir este artículo. Mi comprensión actual está aquí. Si hay errores y opiniones personales, ¡espero que todos puedan señalarlos!

Supongo que te gusta

Origin blog.csdn.net/HG0724/article/details/112717997
Recomendado
Clasificación