Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery django如何处理基于模式的登录/注册?_Jquery_Django_Bootstrap Modal - Fatal编程技术网

Jquery django如何处理基于模式的登录/注册?

Jquery django如何处理基于模式的登录/注册?,jquery,django,bootstrap-modal,Jquery,Django,Bootstrap Modal,我在django中使用modal进行登录/注册。 () 但是我想知道在模板渲染中,django如何处理这个问题 正如您在上面看到的url,它只有一个html文件,比如说,login.html 在djangoviews中,我有两个视图,分别名为LoginView和SignupView 这些就是我认为的问题 每个视图将呈现模板: LoginView-->login.html SignupView-->signup.html 但是正如您在上面所看到的,如果我使用modal,那么对于注册和登录,只有

我在
django
中使用modal进行
登录/注册
。 ()

但是我想知道在模板渲染中,
django
如何处理这个问题

正如您在上面看到的url,它只有一个
html
文件,比如说,
login.html

在django
views
中,我有两个视图,分别名为
LoginView
SignupView

这些就是我认为的问题

  • 每个
    视图
    将呈现
    模板

    • LoginView
      -->
      login.html
    • SignupView
      -->
      signup.html
  • 但是正如您在上面所看到的,如果我使用modal,那么对于
    注册
    登录
    ,只有一个
    html
    文件。我想知道我怎么处理它

  • 此外,每个
    视图
    都将传递其
    表单
    ,例如,
    UserCreationForm
    CustomLoginForm
    ,以从用户获取输入。但是如果只有一个
    html
    文件,那么这些
    表单之间会有冲突吗
  • 谢谢。

    1)您可以将两个表单移动到一个视图中,该视图返回两个具有不同名称的表单

    signup_form = UserCreationForm()  
    login_form = CustomLoginForm()   
    context = {"signup_form": signup_form, "login_form": login_form, **other_kwargs}   
    return render(request, context, content_type=...)
    
    2) 包含多个表单的页面没有问题。由于表单以不同的名称呈现,一个想法是使用隐藏输入来区分发布的表单,因此基本上在html中,您可以执行以下操作:

    <form method="POST" action="URL">
           input type="hidden" name="form_name" value="login_form"  
           {{ login_form.as_table }}    
           input type="submit"    
    </form>
    
    <form method="POST" action="URL">
           input type="hidden" name="form_name" value="signup_form"   
           {{ signup_form.as_table }}               
           input type="submit"    
    </form>
    
    
    输入type=“hidden”name=“form\u name”value=“login\u form”
    {{login_form.as_table}
    输入类型=“提交”
    输入type=“hidden”name=“form\u name”value=“signup\u form”
    {{signup_form.as_table}
    输入类型=“提交”
    

    您还可以将URL指向单个视图,处理使用POST参数内的form_name键提交的表单。或者你可以让他们指向其他URL,发送ajax请求或任何其他你喜欢的方式。

    你可以将所有内容放在一个视图中,然后用css或django库进行视觉效果处理,根据条件隐藏内容。几年前,我也遇到过同样的问题。我已经成功地实现了它。以下是供将来参考的链接: