2011-06-10 40 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

相关问题