django don';登录后无法重定向我的帐户

django don';登录后无法重定向我的帐户,django,django-views,django-authentication,Django,Django Views,Django Authentication,我使用django auth模块,它在192.168.10.100:8080/verif_登录中被阻止,并且无论如何都不要重定向我 这是我的login.html页面: <form action="{% url 'authenticat:verif_login' %}" method="POST"> {% csrf_token %} <table border="0" cellpadding="0" cellspacing="0"> <tr>

我使用django auth模块,它在192.168.10.100:8080/verif_登录中被阻止,并且无论如何都不要重定向我

这是我的login.html页面:

<form action="{% url 'authenticat:verif_login' %}" method="POST">
{% csrf_token %}
  <table border="0" cellpadding="0" cellspacing="0">
       <tr>
           <th>Login</th>
           <td><input type="text"  class="login-inp" name="username" /></td>
       </tr>
       <tr>
           <th>Mot de passe</th>
           <td><input type="password"  name="password"  class="login-inp" /></td>
       </tr>
       <tr>
           <th></th>
           <td><input type="submit" class="submit-login"  /></td>
       </tr>
  </table>
</form>
这是我的authenticat/url.py:

from django.conf.urls import url
from . import views

urlpatterns = [
   url(r'$', views.log_page, name='log_page'),
   url(r'verif_login$', views.verif_login, name='verif_login'),
   url(r'val$', views.val , name='val'),
]
这是我的URL.py:

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
   # Examples:
   # url(r'^$', 'proj.views.home', name='home'),
   # url(r'^blog/', include('blog.urls')),

   url(r'^admin/', include(admin.site.urls)),  
   url(r'^', include('authenticat.urls', namespace='authenticat')),
]

也许你可以用这个:

from django.conf import settings
from django.shortcuts import redirect

def my_view(request):
    if request.user.is_authenticated():
        return redirect('%s?next=%s' % (settings.LOGIN_URL, redirect_url))
    # ...
这不是最漂亮的解决方案,但它应该有效

另外,我不确定是否有必要使用if语句
user.is active
,因为此检查也在
login()
方法中进行。(见附件)


因此,请确定您的if语句是否正常工作;-)

也许你可以用这个:

from django.conf import settings
from django.shortcuts import redirect

def my_view(request):
    if request.user.is_authenticated():
        return redirect('%s?next=%s' % (settings.LOGIN_URL, redirect_url))
    # ...
这不是最漂亮的解决方案,但它应该有效

另外,我不确定是否有必要使用if语句
user.is active
,因为此检查也在
login()
方法中进行。(见附件)


因此,请确定您的if语句是否正常工作;-)

您的
日志页面
的url模式缺少一个
^
,这意味着它当前匹配所有url,包括
验证登录
。应该是:

url(r'^$', views.log_page, name='log_page'),

请注意,Django附带了几个功能,包括登录视图。我建议您使用它,而不是自己编写。

您的
日志页面
的url模式缺少
^
,这意味着它当前匹配所有url,包括
verif\u login
。应该是:

url(r'^$', views.log_page, name='log_page'),

请注意,Django附带了几个功能,包括登录视图。我建议您使用它,而不是自己编写。

当您单击“提交”时,它是否会影响您的视图,或者没有发生任何事情?是的,当我单击“提交”时,它会影响verif_登录,然后停止。我使用django 1.8和python 2.7.6。当您单击“提交”时,它是否会影响您的视图,或者没有发生任何事情?是的,当我单击“提交”时,它点击verif_登录,然后停止使用django 1.8和python 2.7.6