私はDjangoを初めて使い、フラグをクリックして言語を変更する小さなWebサイトを作成しようとしています。私はそのためDjangoの国際化を使用しています:Djangoのset_languageビューにPOSTを送信しようとしているときに403(禁止)を取得する
urls.py
from django.conf.urls import patterns, include, url
from django.conf.urls.i18n import i18n_patterns
urlpatterns = [url(r'^i18n/', include('django.conf.urls.i18n'))]
urlpatterns += i18n_patterns(
url(r'^$', views.home, name='home'),
)
問題がある、私は次のコードを実行すると:
templetatags.pyを
@register.simple_tag
def test():
r = requests.post('http://localhost:8000/i18n/setlang/', data = {'lang':'en', 'next' : '/'})
print r.status_code
home.html
<div id='country_flags'>
<a hreflang="en" href="{% test %}"><img id='en' src='{% static "mysyte/images/gb.png" %}'></a>
</div>
r.status_codeの結果は、403
私が間違って何をやっているのですか?
が必要views.home'ビューを 'いポストデータを受け入れる際のCSRFトークン? –
ああ、私の問題ですが、私はCSRFトークンを完全に忘れました。私の要求に沿ってトークンを渡す方法はありますか? – msTOM
なぜあなたはこれをやっていますか?なぜ*テンプレートタグ*は投稿とあなた自身のアプリを引き起こすでしょうか? –