2017-07-21 5 views
0

テンプレートから自分のビューにコンテキストを渡そうとしています(ad = TrueでもFalseでも)。ここで私はそれを行うために試みた方法は次のとおりです。テンプレートから表示するコンテキストを渡す:NoReverseMatchエラー

urls.py

url(r'^$', home, name='bv'), 
url(r'^q/', search, name='search'), 
url(r'^post/', include('post.urls')), 

post.urls

url(r'^$', views.post, name='post'), 
url(r'^edit/(?P<id>\d+)/', views.edit, name='edit'), 
url(r'^delete/(?P<id>\d+)/', views.delete, name='delete'), 

テンプレート

<a href="{% url 'post' ad='True' %}">Proceed</a> 

post.views

def post(request, ad=False): 
    ... 

は、テンプレート内ad='True'viewsに渡すとad=Trueにデフォルトad=Falseを変更する必要があります。代わりに、このエラーメッセージが表示されます:

NoReverseMatch at /advertise/ 
Reverse for 'post' with arguments '()' and keyword arguments '{'ad': 'True'}' 
not found. 1 pattern(s) tried: ['post/$'] 

問題は何ですか?

+0

なぜあなたはそれを期待していないURLに 'ad'値を渡そうとしていますか? –

答えて

2

変更ルート:

url(r'^(?P<ad>\w+)$', views.post, name='post'), 

と良い答え:

url(r'^(?P<ad>(True|False))$', views.post, name='post'), 
+0

私のコードを更新しました。あなたは私に新しい答えを与えることができますか? NoReverseMatch at/news/ 引数 '()'とキーワード引数 '{}'がない 'post'を逆にします。 1つのパターンが試されました:['投稿/(?P (True | False))$'] ' – Zorgan

+0

あなたは私にURLファイル全体を表示できますか? – hadi

+0

私はちょうどそれを追加しましたが、実際に何も変更されません。 – Zorgan

関連する問題