私はDjangoを学習している最中であり、現在、Pollsチュートリアルに大まかに従うプロジェクトに取り組んでいます。
今、私は一般的なビューに変換しようとしていますが、ここで問題が発生しています。
news / models.py
[...]
class News(models.Model):
id = models.IntegerField(primary_key=True, editable=False)
category = models.CharField(max_length=50L)
title = models.CharField(max_length=200L)
#rss_summary = models.CharField(max_length=2000L)
rss_summary = models.TextField(max_length=2000L)
#body_text = models.CharField(max_length=5000L)
body_text = models.TextField(max_length=5000L)
post_date = models.DateTimeField()
class Meta:
db_table = 'news'
def __unicode__(self):
return self.title
news / urls.py
from django.conf.urls import patterns, url, include
from django.views.generic import DetailView, ListView
from news import views
from news.models import News
urlpatterns = patterns('',
url(r'^$',
ListView.as_view(
queryset=News.objects.order_by('-post_date'),
context_object_name='allnews',
template_name='news/news.html'),
name='news_index'),
[...]
news / templates / news / news.html
[...]
{% for item in allnews %}
<h1 class="news"><a href="{% url 'news_index' item.id %}">{{item.title}}</a></h1>
[...]
{% endfor %}
今私の問題:ListViewやDetailView{% url 'foo' id %}
などの一般的なビューを使用した構文を使用して(IDを介して)特定のニュースアイテムにリンクしたいと思います。どうすればこれを達成できますか?ListViewの名前を宣言しましたが、を指定する方法がわかりません。allnews.id
上記のコードでエラーが発生します
引数'(7L、)'およびキーワード引数'{}'が見つからない'news_index'の/news/リバースでのNoReverseMatch。
面白いのは、「7L」は最新のニュースアイテムのIDです...