django date_based object_detail проблема - PullRequest
1 голос
/ 28 апреля 2011

Я очень новичок в django, пытаюсь создать базовый блог в качестве рабочего опыта обучения.Я следую учебному пособию от WebMonkey, но мое представление не возвращает никакого результата при вводе URL-адреса на основе даты.

Переходя к /blog/, я получаю список всех своих записей в блоге.Переходя к /blog/2011/04/24/, шаблон выплевывает статический html, но цикл не дает никакого результата.

Мои шаблоны URL-адресов из urls.py имеют значение

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')),

)

Мой шаблон list.htmlis

{% 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 %}

Моя модель Entry от models.py:

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)

Я включил скриншоты из двух ситуаций.Почему мой URL на основе даты не дает никакого результата?

Полный список записей в блоге: http://i.stack.imgur.com/GtiyR.png
Поиск по дате: http://i.stack.imgur.com/Bc8G0.png

1 Ответ

0 голосов
/ 28 апреля 2011

Ваш URL на основе даты относится к представлению object_detail, а не archive_index.

...