尝试在 Django 中创建 DetailView 页面
Trying to create a DetailView page in Django
我使用 Django 创建了一个博客,当我点击 post 标题时,我想在页面上显示一个 post,但无论使用何种方法,我都无法在该页面上显示任何内容页。
我的观点:
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:
url(r'^(?P<pk>\d+)$', One_Per_Page.as_view(), name='oneperpage
这是html页面,点击标题时必须显示一个post:
<!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 © 2015</p>
</footer>
</body>
</html>
谁能帮我做对吗?
我不知道你遇到了什么错误,但试试这个,实际上你不需要做太多:
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 }}
我使用 Django 创建了一个博客,当我点击 post 标题时,我想在页面上显示一个 post,但无论使用何种方法,我都无法在该页面上显示任何内容页。
我的观点:
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:
url(r'^(?P<pk>\d+)$', One_Per_Page.as_view(), name='oneperpage
这是html页面,点击标题时必须显示一个post:
<!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 © 2015</p>
</footer>
</body>
</html>
谁能帮我做对吗?
我不知道你遇到了什么错误,但试试这个,实际上你不需要做太多:
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 }}