Django URL标记不起作用-NoReverseMatch

卢卡斯(Lucas)VB

我知道我们不应该使用stackoverflow进行调试,但是在过去的10个小时里我一直在尝试解决此问题,我很抱歉,我深表歉意。

#main project urls.py:
urlpatterns = [
    ...
    path('accounts/',include('employee.urls')),
    ...
]...

#employee.urls:
urlpatterns = [
    ...
    path('employees/', views.display_employees),
    path('edit/<str:employee_ssn>/', views.edit_employee),
    ...
]

#views.py - edit_employee being used only for testing by now
def display_employees(request):
    logged_user = request.user
    queryset = Employee.objects.filter(company=logged_user.company)
    context = {
        'employees': queryset
    }
    return render(request, 'employees.html', context)

def edit_employee(request, employee_ssn):
    context = {}
    emp = Employee.objects.filter(ssn=employee_ssn)
    
    context = {
        'employee_list': emp
    }
    return render(request, 'edit-employee.html', context)

#employees.html
<ul>
    {% for obj in employees %}
    <li>{{ obj.name }}</li>
    <li>{{ obj.ssn }}</li>
    <li>{{ obj.email }}</li>
    <li><a href="{% url '/accounts/edit/' obj.ssn %}">edit</a></li><br>
    {% endfor %}
</ul>

#edit-employee.html
<ul>
{% for obj in employee_list %}
    <li>{{ obj.name }}</li>
    <li>{{ obj.ssn }}</li>
    <li>{{ obj.email }}</li>
{% endfor %}
</ul>

单击edit它时说:

异常类型:NoReverseMatch异常值:找不到'/ accounts / edit /'的反向字符。'/ accounts / edit /'不是有效的视图函数或模式名称。

但是,如果在http://localhost:8000/accounts/edit/<employee_snn>/浏览器中键入url ,则将edit-employee.html正常显示。它还说该错误在我的基本模板的第0行中

威廉·范昂塞姆

您不能模板标签[Django-doc]中使用“模式您应该给视图命名,然后使用它来解析URL,因此:{% url … %}

urlpatterns = [
    # …
    path('employees/', views.display_employees),
    path('edit/<str:employee_ssn>/', views.edit_employee, name='edit-employee'),
    # …
]

然后可以在{% url … %}标记中将其用作参数

<li><a href="{% url 'edit-employee' obj.ssn %}">edit</a></li><br>

使用{% url … %}标签的想法是,您可以轻松更改路径模式。只要名称和参数保持不变,它仍将能够解析模板路径。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django URL NoReverseMatch

来自分类Dev

Django URL中的''的NoReverseMatch

来自分类Dev

NoReverseMatch Django url 问题

来自分类Dev

django {% url %} NoReverseMatch at /

来自分类Dev

Django NoReverseMatch错误,反向函数不带参数不起作用

来自分类Dev

Django url模板标记给出NoReverseMatch错误

来自分类Dev

Django url模板标记给出NoReverseMatch错误

来自分类Dev

Django的NoReverseMatch

来自分类Dev

Django的NoReverseMatch

来自分类Dev

NoReverseMatch at / Django

来自分类Dev

动态加载页面时,Django url标记不起作用

来自分类Dev

使用URL模板标记后,在Django中出现错误/ NoReverseMatch

来自分类Dev

/ blog / Django1.9 URL上的NoReverseMatch

来自分类Dev

python Django重置密码URL NoReverseMatch

来自分类Dev

Django-登录后位于/ <url> /的NoReverseMatch

来自分类Dev

在模板中使用url时的Django NoReverseMatch

来自分类Dev

Django-的NoReverseMatch

来自分类Dev

NoReverseMatch Django教程1.8

来自分类Dev

Django中“ NoReverseMatch”的含义

来自分类Dev

Django测试-NoReverseMatch

来自分类Dev

Django NoReverseMatch位于/

来自分类Dev

django名称空间NoReverseMatch

来自分类Dev

django slug问题noreversematch

来自分类Dev

/ Python Django上的NoReverseMatch

来自分类Dev

django slug问题noreversematch

来自分类Dev

Django模板NoReverseMatch异常

来自分类Dev

Django-NoReverseMatch位于

来自分类Dev

NoReverseMatch实现Django类

来自分类Dev

网址django,NoReverseMatch