このエラーが発生したとき、URL - HTML - ビュー - モデルの関係を学んでいないことに気づきました。まず、コードを表示させてください。
これは私のviews.pyです:
def category_detail(request, category_name):
links = Link.objects.filter(category__name=category_name)
return render_to_response("category_detail.html", {"links":links}, context_instance=RequestContext(request))
これはmodels.pyです:
class Category(models.Model):
name = models.CharField(_("Category"), max_length=255)
user = models.ManyToManyField(User)
def __unicode__(self):
return "%s %s" %(self.user, self.name)
def admin_names(self):
return ', '.join([a.username for a in self.user.all()])
admin_names.short_description = "User Names"
def get_absolute_url(self):
return "/category/%s" % self.name
class Link(models.Model):
user = models.ForeignKey(User)
posted_at = models.DateTimeField(auto_now_add=True)
url = models.URLField()
title = models.CharField(max_length=255, null=True, blank=True)
category = models.ForeignKey(Category)
def __unicode__(self):
return "%s %s %s" %(self.url, self.title, self.category)
これは HTML ページです:
<div id="profilemenu">
index<p>
{% for category in categories %}
<p><a href="{% url 'category_detail' category.name %}">{{category.name }}</a>
{% endfor %}
<p>
</div>
および urls.py:
url(r'^category/(?P<category_name>.*)', 'link.views.category_detail', name="category_detail"),
カテゴリ名をクリックして category_detail.html を開くと、ブラウザの URL は次のようになります。
http://127.0.0.1:8000/category`/
カテゴリ名が取得できません。私の愚かな間違いを教えてください。:\ お時間いただきありがとうございます。