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>


页面效果:

Django框架学习笔记(13.获取单表单数据的三种方式)



下一篇继续接上这里