【问题标题】:list view and details view in djangodjango 中的列表视图和详细信息视图
【发布时间】:2016-04-14 17:39:12
【问题描述】:

我想使用遗传视图列表视图和详细信息视图创建具有两个模板主列表和主列表中的详细信息的 django 项目。 主要清单工作,但不是工作细节清单。 这是我的代码有人可以帮助我吗?

urls.py

urlpatterns = [
url(r'^$', ListView.as_view(
    model = Test,
    queryset = Test.objects.all(),
    context_object_name = "test_list",
    template_name='blog\test_list.html')),


url((r'^(?P<pk>\d+)-(?P<slug>[-\w]+)/$', DetailView.as_view(
    context_object_name="test_list1",
    model=Test,
    template_name='blog\Test_details.html'
    ), name="test"),

]

html 代码测试列表

{% for test in test_list %}
<h2> <a href="{{test.id}}">{{test.Title}}</a></h2>
{% endfor %}

html代码test_details

  <h2>{{ test.Title }}</h2>

【问题讨论】:

  • A) 有什么问题? B) 展示观点。请。
  • 顺便说一句,您的urls.py 似乎是错误的,额外的]...
  • 问题是我无法查看第二个 url 测试详情
  • 复制粘贴错误我没有多余的]

标签: python html django pycharm


【解决方案1】:

您的链接与您的 URL 不匹配:您只是在链接中传递 ID,但 URL 模式需要链接和 slug。

【讨论】:

  • 好吧,也许您也应该传递 slug,以便匹配?或者,如果您不想通过 slug,请更改您的 url 模式,使其不期望它?
  • 我不懂你
【解决方案2】:

我认为你的问题是几个错别字:

首先在 urls 中,你应该改变这个:

url((r'^(?P<pk>\d+)-(?P<slug>[-\w]+)/$', DetailView.as_view(

到这里:

url((r'^(?P<pk>\d+)/$', DetailView.as_view(

其次,(同样对于 DetailView)您的 context_object_name 设置为 test_list1,但您的模板使用 test(两者应该匹配;考虑到此详细视图中没有列表,我会将它们更改为 test )。

第三,您的模板名称设置为blog\Test_details.html,大写T,而您的html文件实际上是小写t

【讨论】:

  • 他说列表视图有效,所以对于细节视图(他的最后一个代码示例),他的模板调用{{ test.Title }},这就是为什么我认为它应该是test。更清楚地说,详细视图不是列表,因此该模板中不会有{% for %} 标签
  • 现在的问题是第二个模板是空的,不显示我数据库中的详细信息
【解决方案3】:

是的,我们成功了(只需删除 -(?P[-\w]+) )以连接第一个和第二个模板,但第二个模板我的 Test.Title 是空的,如果我使用,不显示我的数据库中的详细信息{%for%} 显示错误信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    • 2013-12-13
    相关资源
    最近更新 更多