用Django填充的动态用户表单字段

时间:2017-11-28 10:27:43

标签: javascript jquery python ajax django

我有一个模特:

class ok(models.Model):
    name = models.CharField(max_length=255)
    project = models.CharField(max_length=255)
    story = models.CharField(max_length=500)
    depends_on = models.CharField(max_length=500, default='')
    rfc = models.CharField(max_length=255)

我有模特表格。

class okForm(ModelForm):
   class Meta:
       model = ok
       fields='__all__'

我获得前3个字段:名称,项目,来自后端api调用的故事。现在我想填充最后两个字段 前三个字段使用AJAX调用或jQuery或Javascript之类的东西。

我想在用户提交表单之前自动填充前端MySQL数据库中的最后两个字段。

1 个答案:

答案 0 :(得分:0)

假设你知道如何对你的Django应用程序进行AJAX调用,它将三个现有值作为请求参数传递,你想在Django中编写一个返回最后两个值的API视图:

class okAPI(View):
    def get(self, request):
        name = request.GET.get('name')
        project = request.GET.get('project')
        story = request.GET.get('story')
        if name and project and story:
            try:
                obj = ok.objects.get(name=name, project=project, story=story)
                return JsonResponse(data={
                    'depends_on': ok_obj.depends_on,
                    'rfc': ok_obj.rfc}, status=200)
            except ok.DoesNotExist:
                 pass
        return JsonResponse(data={'error': 'bad request'}, status=400)

现在在.done() jQuery处理程序中,检查状态值,如果是200,则可以访问data.depends_ondata.rfc