2

次のモデルの Django アプリケーションがあります。

class Topic(models.Model):
    title = models.CharField(max_length=140)

Topicの詳細を表示する URL があります。

urlpatterns = patterns('',
    [...]
    (r'^topic/(\d+)$', 'history_site.views.topic_details'),
    [...]
)

history_site.views.topic_detailsと定義されている

from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render_to_response
from django.template.loader import get_template
from django.template import Context, RequestContext
from django.views.decorators.csrf import csrf_protect
import logging
from opinions.models import Topic
from django.template.response import TemplateResponse

logging.basicConfig(filename='history-site.log',level=logging.DEBUG)

def topic_details(request, topic_id_string):
    topic_id = int(topic_id_string)
    topic = Topic.objects.get(id=topic_id)
    return TemplateResponse('topic.tpl.html', locals())

topic.tpl.html次のコンテンツがあります。

<!DOCTYPE html>

{% block prehtml %}
{% endblock %}

<html>
<head>
    <title>{% block title %}{% endblock %}</title>
    {% block scripts %}{% endblock %}
</head>
<body>
<h1>{{ topic.title }} </h1>


{% block content %}
{% endblock %}

</body>
</html>

URL にアクセスしようとするとhttp://127.0.0.1:8000/topic/1、エラーが発生します'str' object has no attribute 'META'

なんで?

どうすれば修正できますか?

4

1 に答える 1