我正在练习数据的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")
]
答案 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: