notas de estudio Python --Day10

notas de estudio Python --Day10

Pasando ayer.

Solicitud de Registro

Ayer ha registrado una solicitud, hoy tenemos que hacer algo con esta aplicación. Para escribir una página simple, como "hola mundo".

Modificar la aplicación de los siguientes directorios views.py:

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.

def index(request):
    return HttpResponse("<h3>hello world!<h3>")

En el directorio de la aplicación y luego crear un nuevo mapa para el URL urls.py:

from django.urls import path

from a_test import views

urlpatterns  [
	path('', views.index, name='index')
]

urls.py archivo bajo el proyecto modificado, sólo se funden URL configurado en la aplicación:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('a_test/', include('a_test.urls')),
]

Nosotros () método será enviado por la fusión incluimos archivo de configuración de la aplicación al proyecto url configuración del archivo URL y asigna a 'Una_Prueba /' ruta, these're completa hecho, a continuación, sólo tenemos que ejecutar el proyecto:

python manage.py runserver

Introduzca la barra de direcciones del navegador http://localhost:8000/a_test/para acceder a nuestro acaba de escribir "hola mundo".

vista

También podemos visualizar una página web a través de la plantilla de vista, plantillas para crear una carpeta en el directorio del proyecto, la ruta plantilla de configuración en settings.py:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, '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',
            ],
        },
    },
]

Crear una página de la plantilla:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>index</title>
</head>

<body>
    <h1>{{ message }}</h1>
</body>

</html>

{{}} Mensaje marcador de posición plantilla de sintaxis, que forma parte del lenguaje de plantillas de Django. Views.py seguir modificando el directorio de la aplicación en:

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.

def index(request):
    return render(request, 'index.html', {'message': 'hello world!!!'})

Vuelva a ejecutar nuestro proyecto:

python manage.py runserver

Tras la actualización, hello world!!!lo que parecía.

diseño Modelo

Diseñar dos tablas para almacenar datos, una tabla de caracteres, una mesa de libros.

  • Libro de diseño de la estructura tabla:
    • Nombre de la tabla: Libro
    • Título: nombre
    • Publicado: pub_time
  • diseño de la estructura de tablas de caracteres:
    • Nombre de la tabla: autor
    • Autor: Autor
    • En el género: el género
    • Obras: Libro de
      la estructura del libro caracteres de relación de muchos

En settings.py podemos configurar una base de datos por defecto base de datos SQLite BASES DE DATOS, Django

A continuación, se aplican los archivos de clase define el modelo models.py en Una_Prueba

from django.db import models

# Create your models here.
class Book(models.Model):
    name = models.CharField(max_length=32)
    pub_time = models.DateTimeField()

    def __str_(self):
        return "%d" % self.pk

class People(models.Model):
    name = models.CharField(max_length=32)
    gender = models.BooleanField()
    book = models.ForeignKey('Book',on_delete=models.CASCADE)

    def __str_(self):
        return "%d" % self.pk

Crear una interfaz para invocar un método de almacenamiento de datos en views.py en:

def makeData(request):
    book = Book()
    book.name = "射雕英雄传"
    book.pub_date=datetime(year=1990,month=1,day=10)
    book.save()
    # 人物
    people = People()
    people.name = "郭靖"
    people.gender = True
    people.book = book
    people.save()
    people = People()
    people.name = "黄蓉"
    people.gender = False
    people.book = book
    people.save()
    # 返回
    result = [book, people]
    return HttpResponse("success")

Añadir una URL en la configuración urls.py en:

from django.urls import path

from a_test import views

urlpatterns = [
    path('', views.index, name='index'),
    path('make/', views.makeData, name='make'),
]

el acceso del navegador por http://localhost:8000/a_test/makeguardar los datos en la base de datos será, y luego modificar el método del índice views.py en:

def index(request):
    people = People.objects.all()
    return render(request, 'index.html', {'people': people})

Modificar las plantillas plantilla del archivo index.html:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>index</title>
</head>

<body>
    <h1>人物列表</h1>
    <ul>
        {%for p in people%}
        <li>
            {{ p.name }},
            性别:
            {%if p.gender == True%}
            男
            {% else %}
            女
            {% endif %},
            所属图书:{{ p.book.name }},
            图书发布时间:{{ p.book.pub_time }}
        </li>
        {%endfor%}
    </ul>
</body>

</html>

Últimos Visitantes http://localhost:8000/a_test/pueden ver los datos que se muestran en la página. De manera que nuestra entrada simple es completa.

epílogo

Es sólo una entrada muy simple, aunque sólo una demostración simple, pero hay una conciencia general del marco de Django, mañana, sábado, a seguir aprendiendo!
Si encontrar mis artículos en los que hay un error o tiene alguna buenas ideas pueden ponerse en contacto conmigo, estudiamos juntos progresar juntos, mi dirección de correo electrónico está [email protected]

Vamos a hacer más de esos!

Publicado 26 artículos originales · ganado elogios 2 · Vistas 2335

Supongo que te gusta

Origin blog.csdn.net/qq_42909545/article/details/103318236
Recomendado
Clasificación