现在模型已经创建好,并且已经向数据表中添加了数据,现在就可以在视图函数中来显示数据
显示模型数据
修改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规则
]
讨论区