django形式2下降,很多人?

时间:2013-10-04 21:14:56

标签: django django-forms

我正在创建一个表单并尝试动态预填充它。

示例:如果用户选择了('前端','前端'),我们会将css,html,javascript返回给他们,他们可以选择相关的语言(通过复选框,多项选择)作用。

我认为我没有创建足够的模型。另外我认为这将采用2种形式,一种用于创建所有这些数据,另一种用于返回以显示供用户使用。

#models.py 

TITLE_CHOICES = (('Select', 'Select'),
    ('Front End', 'Front End'),
    ('Back End', 'Back End'),
    ('Mobile', 'Mobile'),
    ('Other', 'Other')
    )


class Role(models.Model):
    profiletitle = models.CharField(max_length=25, null=True, choices=TITLE_CHOICES, default='Select')

    def __unicode__(self):
        return self.profiletitle

我的问题出在我的身上。我需要第二个与配置文件“Languages”相关的下拉菜单。我不确定如何使用manytomanyfield将profiletitle选择与语言联系起来。

语言下拉/复选框应仅显示所选配置文件标题的相关语言。

感谢阅读/帮助。

PS。我正在尝试使用Django,没有JavaScript,我正在使用App Engine。 (没有加入)

1 个答案:

答案 0 :(得分:1)

如果你想在没有任何JS的情况下在Django中这样做,你将不得不提交表单。并加载第二种形式。

我不确定您是使用基于类的视图还是功能视图,但无论如何,您的逻辑应该是:

  1. 表格1:让用户选择角色(即前端,后端等等),然后按提交(发布表格)
  2. 在django视图中处理此表单时,请选择所选内容(前端,后端等)并查询相关语言,并使用该查询集/选项作为语言表单输入和重定向的选项对此表格的看法(表格2)。
  3. 我不知道为什么你不想要javascript,但是你可以在动态表格上看this link(还有很多其他的)

    注意:由于我没有看到任何代码,我只能建议你采取这个方向,猜测你会按照我给你限制的方式做到这一点。