2014-02-07 17 views
-1

所以是的,當我點擊任何表單時,它會將我帶回到某個頁面,特別是我的帳戶登錄頁。它在以前工作,並且它在IE中實際上工作正常,但在Firefox或Chrome中無法正常工作。這裏是實際的account/login.py文件的代碼,但是程序中有100多個文件,所以在這裏列出它們是不切實際的。在Python/Django中,當我點擊一個文本框(如登錄)時,它將我帶到特定頁面

from django import forms 
from django.conf import settings 
from django.http import HttpResponse, HttpResponseRedirect, Http404 
from account import models as amod 
from . import templater 
from django.contrib.auth import login, authenticate 


def process_request(request): 

    form = User_Auth_Form() 
    if request.method == 'POST': 
     form = User_Auth_Form(request.POST) 


     if form.is_valid(): 
      user = authenticate(username = form.cleaned_data['username'], password = form.cleaned_data['password']) 

      if user.is_staff == True: 
       login(request, user) 
       return HttpResponseRedirect('/manager/dashboard') 


      if user is not None: 
       login(request, user) 
       return HttpResponseRedirect("homepage/index") 

      return HttpResponseRedirect('/homepage/index') 

    tvars = { 
     'form': form, 
    } 
    return templater.render_to_response(request, 'login.html', tvars) 


class User_Auth_Form(forms.Form): 
    username = forms.CharField() 
    password = forms.CharField() 


    def clean(self): 
     user = authenticate(username = self.cleaned_data['username'], password = self.cleaned_data['password']) 
     if user == None: 
      raise forms.ValidationError("Bad password or username") 

     return self.cleaned_data 
+1

你需要給一些細節。我們如何在沒有任何代碼的情況下提供幫助 –

回答

0

請張貼/模板頁面,也許/ url(s)文件。

P.S.您request.method/POST代碼簡化爲:

更換

form = User_Auth_Form() 
if request.method == 'POST': 
    form = User_Auth_Form(request.POST) 
    if form.is_valid(): 

form = User_Auth_Form(request.POST or None) 
if form.is_valid(): 
相關問題