【问题标题】:Trying to create a DetailView page in Django尝试在 Django 中创建 DetailView 页面
【发布时间】:2015-09-22 07:58:10
【问题描述】:

我使用 Django 创建了一个博客,我想在单击帖子标题时在页面上显示单个帖子,但无论使用哪种方法,我都无法在页面上显示任何内容。

我的观点:

class One_Per_Page(DetailView):
   model = AboutMe
   objects = AboutMe(id)

   def oneperpage(request):
      entry = One_Per_Page.objects.get_queryset(pk=AboutMe.id)
      #entries = super(One_Per_Page).get_queryset()
      return render_to_response('blog/aboutme_detail.html', {'AboutMe': entry})

这是我使用的网址:

url(r'^(?P<pk>\d+)$', One_Per_Page.as_view(), name='oneperpage

这是点击标题时必须显示单个帖子的html页面:

<!DOCTYPE html>
<html lang="en">

<head>
    <title>EBA</title>
    <meta charset="utf-8"/>
    <link rel="stylesheet" href="/static/css/styles.css" type="text/css">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>


<body class="body">
<header class="mainHead">
    <img src="/static/img/mainlogo.png" %} width="700" height="144" %}>
    <nav>
        <ul>
            <li><a href='/'>Home</a></li>
            <li><a href='/blog/'>Blog</a></li>
            <li><a href='{{ STATIC_URL }}/latestnews/'>News</a></li>
            <li><a href='{{ STATIC_URL }}/archive/'>Archive</a></li>
        </ul>
    </nav>
</header>

{% block content %}

    <div>
        <article>
            <h4>{{ entry.titleMe }}</h4>
                <p class="postInfo">
                    on {{ entry.dateMe }}
                </p>

            <div class="typicalArticle">
                {{ entry.contentMe|safe|linebreaks }}
            </div>
        </article>
    </div>
{% endblock %}


<footer class="mainFooter">
    <p> copyright &copy; 2015</p>
</footer>

</body>
</html>

谁能帮我做对吗?

【问题讨论】:

  • 视图有两种类型:基于类的视图和基于函数的视图。一个视图应该是一个或另一个。两者都不是。

标签: django python-3.x detailview


【解决方案1】:

我不知道你遇到了什么错误,但试试这个,实际上你不需要做太多:

url(r'^stuff/(?P<pk>\d+)/', One_Per_Page.as_view(
            template_name='detail.html'), name="detail")

class One_Per_Page(DetailView):
   model = AboutMe

在模板中,您自动拥有object 实例,您可以像这样访问:

{{ object.name }}
{{ object.biography }}

【讨论】:

  • 您好@doniyor 感谢您的想法!我已经按照你的建议实现了它,它可以流畅地工作
猜你喜欢
  • 2021-05-19
  • 1970-01-01
  • 2021-04-03
  • 2013-11-02
  • 1970-01-01
  • 1970-01-01
  • 2017-05-22
  • 2021-01-19
  • 2012-06-02
相关资源
最近更新 更多