IM下面就如何使一个博客一个Django的教程,和我们的模板标签,问题是,只有头部被显示出来,而不是说我放入我的模板中的文章,这是我的代码:< / p>
视图
from django.shortcuts import render
from.models import Narticle
def narticle_list(request):
narticle= Narticle.objects.all().order_by('date')
return render(request,'narticle/narticle_list', {'narticle': narticle})
template narticle_list
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Narticle</title>
</head>
<body>
<h1>narticle_list</h1>
<div class="narticle">
<h2> <a href="#">{{Narticle.title}}</a> </h2>
<p>{{Narticle.body}}</p>
<p>{{Narticle.date}}</p>
</div>
</body>
</html>
如果您想查看我的网址
from django.conf.urls import url, include
from django.contrib import admin
from. import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^narticle/', include ('narticle.urls')),
url(r'^about/$', views.about),
url(r'^$',views.homepage),
url for narticle
from django.conf.urls import url
from. import views
urlpatterns = [
url(r'^$',views.narticle_list),
]
当我请求narticle网址时,我的文章没有显示,只是标题是“narticle_list”
答案 0 :(得分:2)
您正在将集合传递到模板的上下文中。这个集合就像一个python列表,所以你需要迭代它。您可以使用模板逻辑执行此操作:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Narticle</title>
</head>
<body>
<h1>narticle_list</h1>
{% for a in narticle %}
<div class="narticle">
<h2> <a href="#">{{a.title}}</a> </h2>
<p>{{a.body}}</p>
<p>{{a.date}}</p>
</div>
{% endfor %}
</body>
</html>
为了澄清,该集合是您从Narticle.objects.all().order_by('date')
获得的。您可以在narticle
行的模板上下文中引用{% for a in narticle %}
。请务必使用{% endfor %}
关闭循环。您可以使用点表示法在示例中访问属性或属性。其他一切看起来应该有效。