簡體   English   中英

Django UpdateView不起作用

[英]Django UpdateView not working

我正在嘗試使用django的UpdateView,但由於某些原因它無法正常工作。

(URL.py)
from django.conf.urls import url
from . import views
app_name='profiles'
urlpatterns = [
url(r'^$', views.IndexView.as_view(),name='index'),
url(r'^(?P<pk>[0-9]+)$',views.DetailView.as_view(),name='detail'),
url(r'^task/add/$',views.TaskCreate.as_view(),name='task-add'),
url(r'^task/(?P<pk>[0-9]+)$',views.TaskUpdate.as_view(), name='task-update'),
url(r'^task/(?P<pk>[0-9]+)/delete/$',views.TaskDelete.as_view(), name='task-delete'),]

以下是我的HTML文件,我試圖在其中添加“編輯”鏈接,該鏈接將重定向到UpdateView。

(Details.PY this already has the second url mapped)
{% extends 'profiles/base.html' %}
{% block body %}
<H3>The total efforts are {{datamain.efforts}} {{datamain.status}} hours.</H3>

<a href="{% url 'profiles:task-update' %}">Edit</a>
   {% endblock %}

以下是Views.py

class IndexView(generic.ListView):
template_name = 'profiles/index.html'
def get_queryset(self):
    return Datamain.objects.all()


class DetailView(generic.DetailView):
    model = Datamain
    template_name = 'profiles/details.html'

class TaskCreate(CreateView):
    model=Datamain
    fields=['main_task','date_time','efforts','status']

class TaskUpdate(UpdateView):
    model=Datamain
    fields=['main_task','date_time','efforts','status']

class TaskDelete(DeleteView):
    model=Datamain
    success_url = reverse_lazy('profiles:index')
    fields=['main_task','date_time','efforts','status']

當我運行它並轉到頁面時,它顯示錯誤“無反向匹配”

您忘記傳遞url參數pk嘗試以下操作:

<a href="{% url 'profiles:task-update' pk=datamain.id %}">Edit</a>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM