1

HTML の Django テンプレートがあります。コンテキストを使用して、このテンプレートに変数を渡したいと思います。ただし、テンプレートをレンダリングすると、Django はこの変数を参照するスペースを TEMPLATE_STRING_IF_INVALID 設定で指定された文字列で埋めます (私はこれをテストしました)。

関連する URLconf は次のとおりです。

from django.conf.urls import patterns, url

from users import views

urlpatterns = patterns('',
    url(r'^$', views.users),
    url(r'(?P<pk>\d+)/$', views.userdetail),
)

参照するビューは次のとおりです。

from django.template import RequestContext, loader
...
def userdetail(request, pk):
    user = get_object_or_404(User, pk=pk)
    template = loader.get_template('users/userdetail.html')
    context = RequestContext(request, {'user': user})
    return HttpResponse(template.render(context))

コンテキストを指定する際の構文エラーが原因であると確信していますが、1時間見ても見つかりません。関連する可能性があると思われる場合は、追加のコードを投稿していただければ幸いです。誰かが私の間違いを見つけることができますか?

興味のある方向けのテンプレート:

{% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif%}

<h1> You are viewing the page for the individual user {{ user.name }} </h1>

    This user has created the following posts:

    {% for post in user.post_list %}
        <a href="/posts/{{ post.id }}/">{{ post.title }}</a></li>
    {% endfor %}

<p>
Created on {{ user.creation_date }}
</p>
4

1 に答える 1

1

OP は次のように書いています。

私のスーパーバイザーがやって来て、すぐに修正しました。問題は、テンプレートにいくつかの事前定義されたキーワードがあることです。User はこれらのキーワードの 1 つであるため、django は{'user':user}コンテキストで渡されたことに腹を立てました。に変更する{'customuser':user}と、django キーワードとの競合が回避され、この問題が修正されます。

于 2015-06-06T17:28:17.170 に答える