请稍候,加载中....

No.7 视图函数

现在模型已经创建好,并且已经向数据表中添加了数据,现在就可以在视图函数中来显示数据

显示模型数据

修改polls/views.py,将index视图函数进行如下修改

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.

from .models import Question 

def index(request):
    questions = Question.objects.all()
    out_put = ""
    for q in questions:
        out_put += "%s - %s <br />" % (q.question_text, q.pub_date)
    return HttpResponse(out_put)

修改完毕后,再次访问该视图,就可以发现添加的数据已经显示在网页上了,尽管很简陋,但是非常成功的一大步

增加模型数据

同样的,我们也可以增加一个视图函数,当访问这个视图函数的时候,就会向数据表里添加一条数据

修改polls/views.py, 添加一个add_question视图函数

def add_question(request):
    question_text = "您是小白吗"
    pub_date = timezone.now()
    q = Question(question_text=question_text, pub_date=pub_date)
    try:
        q.save()
    except Exception as e:
        return HttpResponse(e)
    else:
        try:
            q.choice_set.create(choice_text="是")
        except Exception as e:
            return HttpResponse(e)
        return HttpResponse("插入数据成功%s" % q.id)

添加视图函数后注意事项

经常忽略的事情,就是会忘记给新增的视图函数定义一条url访问规则,所以还需要编辑polls/urls.py文件

urlpatterns = [
    path("", views.index, name="index"),
    path("add", views.add_question, name="add") # 新增的url规则
]

 


Python学习手册-