に私はこのようになりますDjangoのURLのルートがあります: ""reを置き換える方法 "。" DjangoテンプレートURLタグ
app_name = 'courses'
urlpatterns = [
url(r'./(?P<courseid>[0-9]+)/$', views.viewcourse, name='view_course'),
url(r'./(?P<courseid>[0-9]+)/review/$', views.reviewcourse, name='review_course')
]
ザ・を正規表現は、通常、例えば、スラグに置き換えられますで:
courses/computer-science/3/
今、私がレビューページにユーザーを取るために、私の「ビューもちろん」テンプレート、すなわち内のリンクを必要とする:
courses/computer-science/3/review/
私は単に現在のURLにreview
を追加することによってこれを行うことができます:
{{ request.path }}review
しかし、私はむしろ
{% url 'courses:review_course' courseid=course.pk %}
はしかし、これが生成するテンプレートのURLのタグを使用して '正しい' 方法、それを行うだろう:
courses/30/review
、もちろん失敗しています。
{%url%}タグを使用して正しいリンクを生成することはできますか?名前のキャプチャパラメータに?私は、コードを持っていないとして、私はあなたの何を推測している(あなたがkwargsからはcourse_type
へのアクセス権を持っているあなたのビューで今
url(r'(?P<course_type>[a-z_-]+)/(?P<courseid>[0-9]+)/$', views.viewcourse, name='view_course')
、あなたは、あなたが望むものは何でも読み込むことができます:
なぜあなたがそうしていない '' 'URL(R '(P [-Z _-] +)/(P [0-9] +)/ $ '、views.viewcourse、name =' view_course ') '' 'と' 'course_type'''をあなたのビューのargsに入れて良いものを取得しますか? –
Bestasttung