【问题标题】:Popup UserCreationForm in Django在 Django 中弹出 UserCreationForm
【发布时间】:2018-06-09 00:45:16
【问题描述】:

我可以弹出Django的UserCreationForm吗?

我正在建立一个网站。当我点击注册页面弹出注册页面需要显示。

现在我有一个注册页面和登录页面,它们正在工作,但我需要弹出它们。

我正在使用 Django 的usercreationform。

我也可以以那种形式添加 Bootstrap 和 CSS 吗?

from django.contrib.auth.forms import UserCreationForm

这是我尝试过的弹出代码 现在 div 显示在我的页面上而不是弹出窗口中

注册

<script src='{% static "js/grayscale.min.js" %}'></script>
      <script src='{% static "js/creative.min.js"%}'></script>
      <script type="text/javascript">
  var model= document.getElementById('abc');
  window.onclick= function(event){
    if (event.target==model) {
      model.style.display= "none";
    }
  }
      </script>  

<div id="abc">

    <div id="popupContact">
    {% block title %}

{% endblock %}
    {% block content %}

       <div class="login" style="background: grey">

         {% if messages %}
            <ul>
                {% for message in messages %}
                <li>{{ message }}</li>
                {% endfor %}
            </ul>
        {% endif %}

        <h1>Create account - Racernomics</h1>

         <form method="post" >
             {% csrf_token %}
             <table>
                {{ form.as_table }}
                 <tr>
                    <td></td>
                     <td><button type="submit">Register</button></td>
                </tr>
             </table>
         </form>
       {% endblock %}
</div>
    </div>

【问题讨论】:

  • Django 表单为您提供了显示表单的 html 代码 - 您可以将此 html 包装到一个容器(弹出窗口)中,该容器在单击时由 javascript 显示。这是我会采取的一般方法,我真的不能更具体,因为你的问题很模糊。到目前为止,您尝试过什么?
  • 先生,您现在的建议是,我的想法完全相同。但我不确定这些 url 我是否也需要设置它们,或者只是将 html 代码放在一个 div 中,然后使用 javasript?
  • @Dunno 先生,我已经尝试过您所说的使用 javascript 并将其包装成 html,但它没有用。我已经编辑了我的帖子检查

标签: javascript python django twitter-bootstrap


【解决方案1】:

您可以根据需要自定义表单。

这可以通过将 html-classes、id`s 等直接添加到 django 中的表单类中,然后使用 css 访问和修改它们来完成:

class SomeForm(forms.Form):
    some_field = forms.DateField(widget=forms.TextInput(attrs={'class': 'datepicker', 'placeholder': 'mm/dd/yy'}),
                           required=False)

或者您可以使用例如附加库来访问模板中的表单(我更喜欢这种方式,它有助于保持逻辑和前端彼此分离)。这样的库可以是widget-tweaks。

看看这个article,你可能会感兴趣。

【讨论】:

  • 谢谢伙计。我在这里需要更多帮助,我的会议没有破坏你能帮我吗?我的意思是当我注销用户时,它会将我重定向到注销页面,但是当我单击后退按钮时,它会将我带回到我的仪表板页面。 \
  • @DawoodBasharat 您是否在仪表板视图中检查了经过身份验证的用户?
  • @micheal 先生,我还需要帮助来显示弹出窗口。我已经编辑了我的帖子
  • 你是说这张支票? def login(request): if request.user.is_authenticated(): return redirect('Dashboard')
  • @DawoodBasharat 尝试改用login_required decoraor。你唯一需要的就是装饰你的视野。查看文档:docs.djangoproject.com/en/2.0/topics/auth/default/…
猜你喜欢
  • 2011-10-04
  • 2018-03-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-23
  • 2021-08-19
  • 2018-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多