2017-10-25 8 views
0
url(r'^employee/create/(?P<employee_type>[\w-]+)$', 
    staff_member_required(EmployeeCreateView.as_view()), 
    name='employee-create'), 

にkwargsからを定義しますDjangoはどのようにURLパターンIは、次のURLについては、上記URLの設定を使用しています

<a href="{% url "myapp_app:employee-create" employee_type=product_eng %}" class="button is-light is-outlined">Create Product Engineer</a> 
<a href="{% url "myapp_app:employee-create" employee_type=product_dev %}" class="button is-light is-outlined">Create Product Developer</a> 

しかし、これが見つからない私には逆のURLにマッチするというエラーを与えます。この問題を解決するにはどうすればよいですか?

+1

は違いを作る代わりに、 '$'の '/ $'を使ってパターンを終了していますか? – Evert

+2

'product_eng'と' product_dev'に '[\ w-]'と一致する文字のみが含まれていることは確かです(印刷してWebページに出力していますか? – Evert

+0

@Evert後ろにスラッシュを追加すると、// URLに表示されます – Kalanamith

答えて

1

まず@Evertで指摘したようにあなたは、スラッシュが欠落しているURLパターンを、修正する必要があります:あなたのテンプレートで

r'^employee/create/(?P<employee_type>[\w-]+)/$' 

をあなたはそれを行っているとして、あなたはそのURLパターンを呼び出すことができます。

"{% url "myapp_app:employee-create" employee_type=product_eng %}" 

ここでは、myapp_appが名前空間であり、employee-createというURLパターンの名前が重要です。 ここから、この名前空間が指定されているかどうかはわかりません。

employee_type=product_engの場合、変数product_engが実際にテンプレートに存在し、意味のある値を保持することが重要です。
あなたが書き込みのみであることを簡素化することができます。

"{% url "myapp_app:employee-create" product_eng %}" 
関連する問題