Django 如何在 url 模式中定义 kwargs
Django how to define kwargs in a url pattern
url(r'^employee/create/(?P<employee_type>[\w-]+)$',
staff_member_required(EmployeeCreateView.as_view()),
name='employee-create'),
我正在使用上面的 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。我该如何解决这个问题?
首先,您必须修复缺少斜线的 url 模式,正如@Evert 所指出的:
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 %}"
url(r'^employee/create/(?P<employee_type>[\w-]+)$',
staff_member_required(EmployeeCreateView.as_view()),
name='employee-create'),
我正在使用上面的 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。我该如何解决这个问题?
首先,您必须修复缺少斜线的 url 模式,正如@Evert 所指出的:
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 %}"