Py学习  »  Django

Django动态更新表单字段而不刷新页面

Mar • 6 年前 • 1566 次点击  

我已经使用带有外键字段的选择字段构建了一些django表单。

一切都很好,但我想问一下这个领域的一些事情。

在我的应用程序中,因为很多用户都需要一起工作,所以我需要这个字段(选择字段)是动态的,并且在没有用户刷新页面的情况下更新选择值,以查看最后一个更新的表。

是否可以在不刷新页面的情况下更新此“选择字段”“窗体”或“外键窗体”字段中的值?

表单

class myForm(forms.ModelForm):
    field_2= forms.ModelChoiceField(queryset=mymodel_2.objects.all(),label="ΔΙΕΥΘΥΝΣΗ")
    class Meta:
        model = Mymodel
        fields = ('field_1', 'field_2', 'field_fk')

模特儿

class Mymodel(models.Model):
    field_1 = models.CharField(max_length=100, blank=True, null=True)
    field_2 = models.CharField(max_length=254, choices=EIDOS_PROSWPOU_CHOICES, blank=True)
    eidos = models.CharField(max_length=254,choices=EIDOS_PELATHS_CHOICES,blank=True, null=True)
    field_fk= models.ForeignKey('category', blank=True, null=True)


class category(models.Model):
    title = models.CharField(max_length=100, blank=True, null=True)

class mymodel_2(models.Model):
    task = models.CharField(max_length=100, blank=True, null=True)

HTML:

<form enctype="multipart/form-data" method="post" action="">{% csrf_token %}
{{ form.as_p }}
<input  type="submit"/>

在HTML中:

<div class="row form-group"> <label>field_fk :</label><select name="field_fk" id="field_fk">
  <option value="" selected=""></option>

  <option value="some value 1">some value 1</option>

  <option value="some value 2">some value 2</option>

  <option value="some value 3">some value 3</option>

  <option value="some value 4">some value 4</option>

</select></div>
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/31170
 
1566 次点击  
文章 [ 1 ]  |  最新文章 6 年前
Raydel Miranda
Reply   •   1 楼
Raydel Miranda    6 年前

只使用Django?不。

您需要将javascript加入其中。一些评论提到了react甚至是angular,这些都是非常好的JS框架,但是使用其中的任何一个都会让您的问题不堪重负。

这就是jquery的闪光之处。

因此,这是许多解决方案之一的简单指南:

  1. 编写一个Django视图,返回要显示的所需选项。
  2. 使用jquery并编写 get request 为了得到这些选择。
  3. 再次使用jquery并相应地修改dom。

这只是一种方法。