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/make
guardar 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!