首页 > 解决方案 > Django:在视图中使用选定单选按钮的值来更新数据库中的值

问题描述

我正在尝试编写一个视图,其中选定的单选按钮的值/id(不确定)将在单击提交后传递给 django 视图,然后该值应存储在特定用户的列中以及单选按钮的问题举行了回答。

模型.py


class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE) 

labels=[]
for i in range(1,16):
    labels.append('a'+str(i))

for label in labels:
    Profile.add_to_class(label, models.CharField(max_length=255, default='NULL', blank='NULL'))


class Image(models.Model):

    p_img = models.ImageField(max_length=255,upload_to='p_image',default='NULL', blank='NULL')
    p_img_count = models.IntegerField(default=0)

    s_image1 = models.ImageField(max_length=255,upload_to='s_image')
    s_image2 = models.ImageField(max_length=255,upload_to='s_image',default='NULL', blank='NULL')
    s_image3 = models.ImageField(max_length=255,upload_to='s_image',default='NULL', blank='NULL')
    s_image4 = models.ImageField(max_length=255,upload_to='s_image',default='NULL', blank='NULL')
    s_image5 = models.ImageField(max_length=255,upload_to='s_image',default='NULL', blank='NULL')


    def __str__(self):
        return(str(self.p_image))




class Score(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    points = models.IntegerField()

    def __str__(self):
        return(self.username)

视图.py

def update_db(request):

    # getting selected radio button value and use to it update that particular user's answer in Profile model. 

    return render(request, index.html, {})

索引.html

<form action='/update' >
<p style="background-color: #ddd674">Primary image :<img src="{{media_url}}{{ p_img.p_img }}" height=300px > <br> 
</p>
<hr height=2px >
<p style="background-color: #a7e0d9">Secondary image :


    {% for img in s_img %}
        {% if img  %}
            <input type="radio" id="{{ img }}" name="ans" >
                <img src="{{media_url}}{{ img }}" height=250px > 
            </input>
        {% endif %}
    {% endfor %}
    <br> 

</p>

    <button type="submit" name="next" class="btn btn-primary pull-right"> Next / Submit </button></h5>
  </form>

我主要关心的是获取查询以获取视图函数中选定的单选按钮值并将其更新给该特定用户。

标签: djangosqliteradio-buttondjango-queryset

解决方案


您完全缺少Form抽象层。

请阅读:https ://docs.djangoproject.com/en/2.2/topics/forms/


推荐阅读