Django:在视图中使用选定的单选按钮的值来更新数据库中的值

时间:2019-12-24 13:45:13

标签: django sqlite radio-button django-queryset

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

models.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)

views.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, {})

index.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>
  

我主要关心的是获取查询以在视图功能中获取选定的单选按钮值,并将其更新为该特定用户。

1 个答案:

答案 0 :(得分:0)

您完全缺少Form抽象层。

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