Django-'data'不是注册的名称空间

时间:2019-06-04 00:38:23

标签: python django

我正在练习数据的CRUDS,并在尝试编写删除功能代码时遇到错误。

in timesheet.html:

 {% for data in TR %}
                    <tr>
                        <th>{{data.month}}</th>
                        <th>{{data.worktime}}</th>
                        <th>{{data.email}}</th>
                        <th></th>
                        <th><a href="{% url 'data:delete' data.0 %}"><button type="button">刪除</button></a></th>
                    </tr>
                    {% endfor %}

在views.py中:

def delete(request, id):
        with connection.cursor() as cursor:
                sqldelete = """
                        delete from timesheet where idtimesheet = %s
                """
                cursor.execute(sqldelete, (id,))
        return redirect("/timesheet")

在urls.py

  urlpatterns = [
    path('', views.timesheet, name='timesheet'),
    # path('index/', views.index, name='index')
    path('data_db/', views.data_db, name='data_db'),

    path('delete/<int:idtimesheet>', views.delete, name="delete")
]

1 个答案:

答案 0 :(得分:0)

问题在这里: My-Function @PSBoundParameters

问题是Django无法识别第一个“数据”-是应用程序的名称,还是url 'data:delete'应用程序urls.py时在项目级urls.py中定义的命名空间? ?

如果您引用的urls.py包含在更高级别的urls.py中,则应该可以通过提供一个元组来定位它的名称空间,该元组查找包含url_patterns列表的模块和一个名称空间字符串。我在民意测验指南中的完整文章:

include()

如果没有命名空间,则不需要re_path(r'^polls/', include(('polls.urls', 'polls'))), ,只需将其命名为data: