Django框架学习笔记(13.获取单表单数据的三种方式)
一个小示例:
创建Django工程,创建app,注册app,创建好数据库后加入些数据
project下的urls.py:
from django.contrib import admin from django.urls import path from django.conf.urls import url from app01 import views urlpatterns = [ path('admin/', admin.site.urls), url(r'^business$', views.business), ]
app下的views.py:
from django.shortcuts import render from app01 import models # Create your views here. def business(request): v1 = models.Business.objects.all() v2 = models.Business.objects.all().values('id', 'caption') v3 = models.Business.objects.all().values_list('id', 'caption') return render(request, 'business.html', {'v1': v1, 'v2': v2, 'v3': v3})
app下的models.py:
from django.db import models # Create your models here. class Business(models.Model): #默认id列 caption = models.CharField(max_length=32) code = models.CharField(max_length=32) class Host(models.Model): nid = models.AutoField(primary_key=True) hostname = models.CharField(max_length=32, db_index=True) ip = models.GenericIPAddressField(db_index=True) port = models.IntegerField() b = models.ForeignKey(to="Business", to_field='id', on_delete=models.CASCADE)
business.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>业务线列表(对象)</h1> <ul> {% for row in v1 %} <li>{{ row.id }}-{{ row.caption }}-{{ row.code }}</li> {% endfor %} </ul> <h1>业务线列表(字典)</h1> <ul> {% for row in v2 %} <li>{{ row.id }}-{{ row.caption }}</li> {% endfor %} </ul> <h1>业务线列表(元组)</h1> <ul> {% for row in v3 %} <li>{{ row.0 }}-{{ row.1 }}</li> {% endfor %} </ul> </body> </html>
页面效果:
下一篇继续接上这里