嗨,我在django中是新人,我正在尝试计算一个小时,为什么主键(pk)无法正确工作以将我的表单更新为9以上的值。它说当前路径tache_app / TacheUpdate / 15 ,与任何这些都不匹配。我检查了无数次ID 15,它确实存在。我的猜测是主键(pk)不适用于9以上的值。这是我的代码,请帮忙弄清楚。对我的英语来说,这不是很好。我住在法国。
在我的urls.py文件中
"""Mettre les urls pour la tache app etc etc etc """
from django.urls import path
from django.conf.urls import url
from . import views
urlpatterns = [
path('tache_ajouter/' , views.tache_ajouter , name='tache_ajouter' ),
url(r'^TacheCreate$', views.TacheCreate.as_view(), name='TacheCreate'),
url(r'^TacheUpdate/(?P<pk>\d)$', views.TacheUpdate.as_view(), name='TacheUpdate'),
url(r'^TacheDelete/(?P<pk>\d)$', views.TacheDelete.as_view(), name='TacheDelete'),
]
class TacheUpdate(UpdateView):
"""
Creation d une view afin de modifier les
d une tache
"""
model = Tache
template_name = "tache_app/edition.html"
fields = "__all__"
from_class = TacheForm
success_url = reverse_lazy('tache')
如果您需要任何东西,请问我。
\d
正则表达式部分匹配一个数字,而不是多个数字。为了匹配多个数字,您添加了+
量词。此+
量词表示“一个或多个”,因此\d+
表示一个或多个数字。因此您的网址应如下所示:
urlpatterns = [
path('tache_ajouter/', views.tache_ajouter, name='tache_ajouter'),
url(r'^TacheCreate$', views.TacheCreate.as_view(), name='TacheCreate'),
url(r'^TacheUpdate/(?P<pk>\d+)$', views.TacheUpdate.as_view(), name='TacheUpdate'),
url(r'^TacheDelete/(?P<pk>\d+)$', views.TacheDelete.as_view(), name='TacheDelete'),
]