请稍候,加载中....

No.10 数据访问

通常在列表中只会显示一些标题等信息,然后通过点击标题到达一个文章详情页面,显示更全面的数据信息

接下来,我们就要创建详情视图

创建详情视图

创建detail视图

def detail(request):
    pass

配置url规则

当点击列表页面链接时,链接上会带有当前信息在数据库的id,可以根据这个id来查询数据

http://127.0.0.1:8000/polls/1/

要获得id值,需要在url规则添加

path('<int:question_id>/', views.detail, name='detail'),

最终的urls文件

urlpatterns = [
    path("", views.index, name="index"),
    path("add", views.add_question, name="add"),
    path('<int:question_id>/', views.detail, name='detail'),
]

添加detail模版

polls/templates/polls目录下添加detail.html文件

并在文件中添加如下内容

<h3>{{ question.question_text }}</h3>
<p>发布日期: {{ question.pub_date }}</p>

完成detail视图

完成模版之后,我们就可以在视图中渲染模版了

def detail(request, question_id):
    question = Question.objects.get(pk=question_id)
    context = {
        "question": question
    }
    return render(request, "polls/detail.html", context)

 


Python学习手册-