簡體   English   中英

Django:如何在顯示 UpdateView 表單時放置現有字段?

[英]Django: How to put existing fields when displaying form for UpdateView?

我正在制作一個劇集跟蹤器網站,當我希望用戶編輯節目時,提供的表單以空字段開頭。 如何使用現有字段填寫表單? 例如,當用戶正在觀看節目並且最初是在第 5 集時,我如何調用“集”字段已經在第 5 集而不是空的更新表單?

視圖.py

class ShowUpdate(UpdateView):
    model = Show
    slug_field = 'title'
    slug_url_kwarg = 'show'
    fields = ['description', 'season', 'episode']

顯示詳細信息.html

<form action="{% url 'show:show-update' show=show.title %}" method="post">
{% csrf_token %}
<button type="submit">Edit</button>
</form>

您可以使用 UpdateView 中的值填寫表單

def get_initial(self):
    return { 'field1': 'something', 'field2': 'more stuff' }

UpdateView 也繼承自 SingleObjectMixin,它提供了get_objectget_queryset ,因此您可以使用其中任何一個來獲取要填充表單的對象數據。 就像是:

def get_object(self):
        return Show.objects.get(pk=self.request.GET.get('pk')) 

查看文檔了解更多信息

此外,如果您的 url 中有一個 pk 或 slug 作為參數,它也應該選擇它。 如:

url(r'^shows/update/(?P<pk>\d+)/$',ShowUpdate.as_view())

暫無
暫無

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

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