Jquery 如何通过ajax填充表单以更新模型?

Jquery 如何通过ajax填充表单以更新模型?,jquery,python,ajax,django,Jquery,Python,Ajax,Django,我试图在页面上加载一个空白表单(表单隐藏),并在用户单击jobnum按钮时填充并显示它 据我所知,在阅读时,我需要在呈现表单时传递主键,但当然,在用户单击按钮之前,我无法传递主键。但是我需要在页面加载时呈现表单,这样显然它就不会有与之关联的pk,因为用户还没有单击按钮 我可以通过以下jquery和view.py传递我的信息来获得pk: $('#editjob').click(function(){ var a = document.getElementById('jobNum').tex

我试图在页面上加载一个空白表单(表单隐藏),并在用户单击jobnum按钮时填充并显示它

据我所知,在阅读时,我需要在呈现表单时传递主键,但当然,在用户单击按钮之前,我无法传递主键。但是我需要在页面加载时呈现表单,这样显然它就不会有与之关联的pk,因为用户还没有单击按钮

我可以通过以下jquery和view.py传递我的信息来获得pk:

$('#editjob').click(function(){
    var a = document.getElementById('jobNum').textContent
    $.ajax({
    url: "editjob",
    data: {'jobnum':a},
    success: function(data) {
        alert(data);
        // $(".mydiv").append(data);
    },
    });
});


def editjob(request):
  if request.is_ajax():
    jobnum = request.GET.get('jobnum')
    job_list = Job.objects.filter(jobnum=jobnum)
    json_data = serializers.serialize('json', job_list)
    a = json.loads(json_data)
    a = a[0]['pk'] #that's our pk!
  return JsonResponse(a,safe=False)
这只是用pk提醒我

然后我想我需要做这样的事情:

  j = Job.objects.get(pk=a)     
  editJobForm = JobForm(request.POST or None, prefix='edit',instance=j)
  if editJobForm.is_valid():
        frm_jobnum = editJobForm.cleaned_data.get("jobnum")
        frm_pm = editJobForm.cleaned_data.get("pm")
        # other clean data's redacted
        instance = editJobForm.save()
        instance.save()
当然,问题是我不能将“editJobForm”传递到上下文中,然后在我的主页上呈现它,因为当页面第一次加载时,用户不会单击触发ajax请求的按钮,该请求会获得必要的pk

我尝试的另一个尝试是在表单自己的页面
editjob.html
中呈现表单,然后将其包含在我的主页中。在我保存的文件中:

123 
{{editJobForm}} 
123
如果我转到它的url,正好是jobs/editjob。它正确地呈现123(实际形式)123。(但前提是我通过了一个已知的pk,而不是我眼中的ajaxed pk)

然后当我尝试
{%include“editjob.html”%}
时,它只包括“123”


我不想通过我的第二种方法来处理这个问题,因为它对其他人来说似乎很混乱和不清楚。

你应该先编辑并发布一个问题……不知何故,在我完成之前,我意外地发布了它。我现在完成了。你应该先编辑并发布一个问题……不知何故,在我完成之前,我意外地发布了它。我现在做完了。