2011-06-10 54 views
-1

我對Django非常陌生,並且通過大量的試驗和錯誤過程來學習它。主要是錯誤。該模板應該適用於某個視圖和模型。什麼應該在urls.py中?

這是我的觀點看起來像 從django.contrib.auth進口身份驗證,登錄 從django.shortcuts選擇render_to_response導入

def login(request): 
    def errorHandle(error): 
     form = LoginForm() 
     return render_to_response('login.html', { 
       'error' : error, 
       'form' : form, 
     }) 
    if request.method == 'POST': # If the form has been submitted... 
     form = LoginForm(request.POST) # A form bound to the POST data 
     if form.is_valid(): # All validation rules pass 
      username = request.POST['username'] 
      password = request.POST['password'] 
      user = authenticate(username=username, password=password) 
      if user is not None: 
       if user.is_active: 
        # Redirect to a success page. 
        login(request, user) 
        return render_to_response('userprof/login.html', { 
         'username': username, 
        }) 
       else: 
        # Return a 'disabled account' error message 
        error = u'account disabled' 
        return errorHandle(error) 
      else: 
       # Return an 'invalid login' error message. 
       error = u'invalid login' 
       return errorHandle(error) 
     else: 
      error = u'form is invalid' 
      return errorHandle(error) 
    else: 
     form = LoginForm() # An unbound form 
     return render_to_response('login.html', { 
      'form': form, 
     }) 

這是我的模型

from django.db import models 
from django.contrib.auth.models import User 
from django.db.models.signals import post_save 

class UserProfile(models.Model): 
    user = models.OneToOneField(User) 
    #other fields here 

    def __str__(self): 
      return "%s's profile" % self.user 

def create_user_profile(sender, instance, created, **kwargs): 
    if created: 
     profile, created = UserProfile.objects.get_or_create(user=instance) 

post_save.connect(create_user_profile, sender=User) 

應該是什麼我的模板必須有用戶名和密碼字段才能將值發送到此視圖。 我很困惑django用戶widget的使用方式,因此這些疑惑。

另一件事是,我的urls.py應該是什麼? Ps:我現在收到了一個反向錯誤。

回答

0

Django已經有一個內置的視圖 - django.contrib.auth.views.login(這是高度可定製的)。 Documentation將爲您提供樣本模板和網址格式。

+0

我非常困惑,在那個文檔中。因此來到了這裏。 – Hick 2011-06-10 08:42:07

+0

@mekasperasky什麼讓你感到困惑?你無法執行哪項任務? – DrTyrsa 2011-06-10 08:43:25

+0

我可以得到我的登錄模板/視圖/模型。當我處理網址時,問題就來了。 – Hick 2011-06-10 08:48:29

相關問題