저는 장고를 처음 사용하면서 실습 경험으로 기본 블로그를 만들려고합니다. WebMonkey에서 자습서를 따르고 있지만 날짜 기반 URL을 입력하면 내보기가 결과를 반환하지 않습니다.django date_based object_detail 문제
/blog/
으로 가면 모든 블로그 항목의 목록을 얻을 수 있습니다. /blog/2011/04/24/
으로 이동하면 템플릿이 정적 HTML을 벗어나지 만 루프가 결과를 생성하지 않습니다. 나는이 상황의 스크린 샷을 포함
class Entry(models.Model):
title = models.CharField(max_length=200)
slug = models.SlugField(
unique_for_date='pub_date',
help_text='Automatically built from the title.'
)
body_html = models.TextField(blank=True)
body_markdown = models.TextField()
pub_date = models.DateTimeField('Date published')
tags = TagField()
enable_comments = models.BooleanField(default=True)
PUB_STATUS = (
(0, 'Draft'),
(1, 'Published'),
)
status = models.IntegerField(choices=PUB_STATUS, default=0)
: urls.py
에서
내 URL 패턴은 list.html
이 models.py
에서
{% extends 'base.html' %}
{% block pagetitle %}Page Title{% endblock %}
{% block title %}Title: List{% endblock %}
{% block primary %}
{% for object in latest %}
<h2>For Debug</h2>
<h2>{{ object.title }}</h2>
<p> {{ object.pub_date }} </p>
{{ object.body_html|truncatewords_html:"20"|safe }}
<p>tags:{% for tag in object.get_tags%}
<a href="/tags/{{tag.name|slugify}}/">{{tag}}</a>
{% endfor %}
</p>
<p>
<a href="/blog{{object.get_absolute_url}}">more...</a>
</p>
{% endfor %}
{% endblock %}
내 엔트리 모델이다
info_dict = {
'queryset': Entry.objects.filter(status=1),
'date_field': 'pub_date',
}
urlpatterns = patterns('django.views.generic.date_based',
(r'(blog/(?P<year>[0-9]{4}))/(?P<month>[a-z]{3})/(?P<day>[0-9]{1,2})/(?P<slug>[-\w]+)/$', 'object_detail', dict(info_dict, allow_future=True, slug_field='slug',template_name='blog/detail.html')),
(r'^((blog/(?P<year>[0-9]{4}))/(?P<month>[a-z]{3})/(?P<day>[0-9]{1,2})/(?P<slug>[-\w]+)/$', 'object_detail', dict(info_dict, allow_future=True, template_name='blog/list.html')),
(r'^blog/$','archive_index', dict(info_dict, allow_future=True, template_name='blog/list.html')),
)
내 템플릿입니다. 내 날짜 기반 URL이 결과를 반환하지 않는 이유는 무엇입니까? 블로그 항목의
전체 목록 : http://i.stack.imgur.com/GtiyR.png
날짜 별 검색 : http://i.stack.imgur.com/Bc8G0.png이
빠른 응답을 보내 주셔서 감사합니다! 나는 archive_index로 바꿨지 만 여전히 행운은 없다 : ( (? P [0-9] {4})/(? P [az] {3})/(? P [0-9 ] {{012} {1,2})/{? [- \ w] +)/$ ','archive_index ', dict (info_dict, template_name ='blog/list.html ')), 이 URL을 사용해 보았습니다. 패턴을 사용하여 연도 기반 목록을 얻지 만 동일한 빈 결과를 얻습니다. ... (r '^ (? P [0-9] {4})/$', 'archive_year', dict (info_dict, allow_future = True , template_name = 'blog/list.html')), 아이디어가 있으십니까? –
user544849