【问题标题】:Django Forms- drop down menu of from model 'id' received from URLDjango Forms- 从 URL 接收的模型“id”的下拉菜单
【发布时间】:2016-08-10 18:17:57
【问题描述】:

我想从模型中存储的所有数据中创建 id 的下拉菜单。稍后我想将该 id 传递给我的 views.py 以填充我的表单以进行更新。我该怎么办?

我知道我需要一些表单域和视图,但我不知道该怎么做。我是 Django 的新手,所以这对我来说比较陌生。任何帮助都会非常有用。

models.py -

class TVchannel(models.Model):
    name = models.CharField(max_length=50, verbose_name="Name of program")
    type = models.CharField(max_length=50, verbose_name="Type of program")
    state = models.CharField(max_length=50, verbose_name="Channel state")
    price = models.IntegerField(validators=[MinValueValidator(1)], verbose_name="Price of channel")

    def __str__(self):
         return self.name<code>

views.py - 更新视图

def userUP(request, user_id):
#instance = get_object_or_404(TVchannel, id=user_id)
queryset = TVchannel.objects.filter(id=user_id)
if request.method == 'POST':

    form = TVchannelUpdateForm(request.POST)

    if form.is_valid():
        updateIt = TVchannel.objects.get(pk=id)
        form = TVchannelUpdateForm(request.POST, instance = updateIt)
        form.save()
        return HttpResponseRedirect('/')

else:
    updateIt = TVchannel.objects.get(pk = id)
    form = TVchannelUpdateForm(insance = updateIt)

return render_to_response('app/updateTVchannel.html', {'form': form}, context_instance=RequestContext(request))<code>

forms.py - 更新表单

class TVchannelUpdateForm(ModelForm):
    class Meta:
         model = TVchannel
         fields = ['name', 'type', 'state', 'price]

【问题讨论】:

    标签: django python-2.7 django-models django-forms dropdown


    【解决方案1】:

    django form dropdown list of numbers

    ^ 检查这个答案,只需使用来自 URL 的 id 的数据填充列表。

    【讨论】:

    • 感谢您的回答。那不是问题。我不知道如何制作下拉菜单的形式并用数据的 id 填充它。我想我可能需要做一些表单和视图,但我不知道该怎么做。
    猜你喜欢
    • 2015-09-16
    • 1970-01-01
    • 2016-05-31
    • 2021-10-01
    • 2022-01-07
    • 2022-01-12
    • 1970-01-01
    • 2013-01-23
    • 2011-07-06
    相关资源
    最近更新 更多