Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.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
Python Django刷新页面但不重定向_Python_Html_Django_Django Views - Fatal编程技术网

Python Django刷新页面但不重定向

Python Django刷新页面但不重定向,python,html,django,django-views,Python,Html,Django,Django Views,在页面/主页上,我在导航栏中创建了一个登录按钮,当您单击它时,它将打开一种弹出窗口,显示更改为阻止。但我的问题是,我无法找出用户在使用错误数据登录时如何留在页面上。此时,它只是将我返回到/主页,如果我再次单击导航栏按钮,登录窗口将打开并显示“错误”消息,但我希望它将我重定向到/主页,但登录弹出窗口仍然打开,或者不将我重定向到任何地方。 因此,我想我只是在寻找一种方式来更新此消息,但您仍停留在登录弹出窗口上。这是我的 views.py的一部分: def post(self、request、*arg

在页面/主页上,我在导航栏中创建了一个登录按钮,当您单击它时,它将打开一种弹出窗口,显示更改为阻止。但我的问题是,我无法找出用户在使用错误数据登录时如何留在页面上。此时,它只是将我返回到/主页,如果我再次单击导航栏按钮,登录窗口将打开并显示“错误”消息,但我希望它将我重定向到/主页,但登录弹出窗口仍然打开,或者不将我重定向到任何地方。 因此,我想我只是在寻找一种方式来更新此消息,但您仍停留在登录弹出窗口上。这是我的

views.py的一部分:

def post(self、request、*args、**kwargs):
#form=UserCreationForm(request.POST)
#打印(表单错误)
# 
username=request.POST.get('username')
password=request.POST.get('password')
用户=验证(请求,用户名=用户名,密码=密码)
如果用户不是无:
打印(用户“已成功登录”)
登录(请求、用户)
返回HttpResponseRedirect('/recipes/all')
其他:
消息。错误(请求“密码或用户名不正确”)
返回HttpResponseRedirect('/recipes/all')
这是我的HTML文件的一部分:

<div class="login-popup-box" id="login-popup-box">
            <div class="user-card-login">
              <div class="close-button-box">
                <button
                  class="close-button"
                  onclick="document.getElementById('login-popup-box').style.display='none'"
                  title="Close"
                >
                  <i class="fa fa-close close-button-icon"></i>
                </button>
              </div>
              <h1 class="login-title">Login</h1>
              {% for message in messages %}
    
                        <div class="alert alert-success">
                            <a class="close" href="#" data-dismiss="alert">×</a>
    
                            {{ message }}
    
                        </div>
                {% endfor %}
    
              <form method="POST" action="">
                <div class="input-group-username">
                  <div class="input-group-username-icon">
                    <i class="fa fa-user"></i>
                  </div>
                  {% csrf_token %}
                  <input
                    type="text"
                    name="username"
                    placeholder="Username..."
                    class="form-control"
                  />
                </div>
                <div class="input-group-password">
                  <div class="input-group-password-icon">
                    <i class="fas fa-key"></i>
                  </div>
                  <input
                    type="password"
                    name="password"
                    placeholder="Password..."
                    class="form-control"
                  />
                </div>
                <div class="info-text">
                  <p>
                    Du hast keinen Account?
                    <a class="create-acc-link" onclick="viewChange('register')"
                      >Erstelle dir einfach einen</a
                    >
                  </p>
                </div>
                <div class="input-group-button">
                  <input class="login_btn" type="submit" value="Login" />
                </div>
              </form>
            </div>
          </div>

登录
{消息%中的消息为%s}
{{message}}
{%endfor%}
{%csrf_令牌%}

你有凯宁账户吗?
埃因法赫酒店

我真的希望你能帮助我。非常感谢


PS:我还想通过HTTP重定向传递一个变量,这样如果这个变量为真,我就可以显示弹出窗口。

听起来像是要执行AJAX请求。你考虑过了吗?我想这是解决办法,但是我现在不能测试,所以如果它工作的话,我会写的,谢谢!
<div class="login-popup-box" id="login-popup-box">
            <div class="user-card-login">
              <div class="close-button-box">
                <button
                  class="close-button"
                  onclick="document.getElementById('login-popup-box').style.display='none'"
                  title="Close"
                >
                  <i class="fa fa-close close-button-icon"></i>
                </button>
              </div>
              <h1 class="login-title">Login</h1>
              {% for message in messages %}
    
                        <div class="alert alert-success">
                            <a class="close" href="#" data-dismiss="alert">×</a>
    
                            {{ message }}
    
                        </div>
                {% endfor %}
    
              <form method="POST" action="">
                <div class="input-group-username">
                  <div class="input-group-username-icon">
                    <i class="fa fa-user"></i>
                  </div>
                  {% csrf_token %}
                  <input
                    type="text"
                    name="username"
                    placeholder="Username..."
                    class="form-control"
                  />
                </div>
                <div class="input-group-password">
                  <div class="input-group-password-icon">
                    <i class="fas fa-key"></i>
                  </div>
                  <input
                    type="password"
                    name="password"
                    placeholder="Password..."
                    class="form-control"
                  />
                </div>
                <div class="info-text">
                  <p>
                    Du hast keinen Account?
                    <a class="create-acc-link" onclick="viewChange('register')"
                      >Erstelle dir einfach einen</a
                    >
                  </p>
                </div>
                <div class="input-group-button">
                  <input class="login_btn" type="submit" value="Login" />
                </div>
              </form>
            </div>
          </div>