使用jquery将django表单加载到模板中?

nhjlsmyf  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(180)

我使用django基于函数的视图和一个包含多个选项卡的模板。根据选择的选项卡,我通过捕捉隐藏/显示页面上的某些元素 .click() 使用jquery的事件。我使用对某些视图函数的ajax请求填充可见元素。
我添加了一个新选项卡,通过表单提交数据。目前,我有一个包含表单的附加模板。单击选项卡时,我使用将模板加载到元素中 jQuery.load(upload.html) . 表单通过 modelForm . 它工作正常,但我似乎不知道如何保持在相同的表单标签张贴后。来自django的任何重定向都会导致主模板重新加载到默认的起始选项卡。
此外,如果用户导航到 main_template/upload.html 表单加载到主模板页面之外。我想避免这种情况。
我做错了吗?
main_template.html

<div id="myForm"></div>

$("#tabButton").click(function(){
 $("#myForm").load("upload.html"); 
});

upload.html

<form method="post" enctype="multipart/form-data" action="{% url 'core:upload' %}">      
    {% csrf_token %}
    {% bootstrap_form form layout='horizontal' %}
    {% bootstrap_button "Upload" button_type="submit" %}
</form>

url.py

urlpatterns = [
    url('upload', views.upload, name='upload'),   
]

views.py

def upload(request):
        if request.method == 'POST':
            form = uploadForm(request.POST, request.FILES)
            if form.is_valid():         
                form.save()
              **return redirect(request.META['HTTP_REFERER'])**### ---> ???
        else:
            form = uploadForm()
            context = {'form': form}
        return render(request, 'core/upload.html', context)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题