2013-02-20 65 views
0

我正在設計這個應用程序,遇到了一個不尋常的錯誤,試圖修復,但我不能看到錯誤出現在哪裏。我一直在比較代碼,看看我是否可以發現錯誤,但是這兩個代碼相同的只是我的代碼不能正常工作Django> SyntaxError at/register/

本教程從這裏走過http://hackedexistence.com/project/django/video7-userauthentication-2.html

SyntaxError at /register/ 

('invalid syntax', ('C:\\djcode\\mysite\\drinker\\views.py', 23, 12, '  else:\n')) 

Request Method: GET 
Request URL: http://127.0.0.1:8000/register/ 
Django Version: 1.4.3 
Exception Type: SyntaxError 
Exception Value: 

('invalid syntax', ('C:\\djcode\\mysite\\drinker\\views.py', 23, 12, '  else:\n')) 

Exception Location: C:\Python26\Lib\site-packages\django\utils\importlib.py in  import_module, line 35 
Python Executable:  C:\Python26\python.exe 
Python Version: 2.6.0 

我views.py

from django.http import HttpResponseRedirect 
from django.contrib.auth.models import User 
from django.contrib.decorators import login_required 
from django.shortcuts import render_to_response 
from django.template import RequestContext 
from drinker.forms import RegistrationForm,LoginForm 
from drinker.models import Drinker 
from django.contrib.auth import authenicate ,login , logout 

def DrinkerRegistration(request): 
    if request.user.is_authenticated(): 
     return HttpResponseRedirect('/profile/') 
    if request.method == 'POST': 
     form = RegistrationForm(request.POST) 
     if form.is_valid(): 
      user = User.objects.create_user(username=form.cleaned_data['username'], email = form.cleaned_data['email'] , password = form.cleaned_data['password']) 
      user.save() 
      drinker = Drinker(user=user , name=form.cleaned_data['name'] , birthday =form.cleaned_data['birthday']) 
      drinker.save() 
      return HttpResponseRedirect('/profile/') 
     else: 
      return render_to_response('register.html',{'form':form}, context_instance=RequestContext(request)) 
     else: 
      form = RegistrationForm() 
      context = {'form':form} 
      return render_to_response('register.html',context,context_instance=RequestContext(request)) 
def LoginRequest(request): 
    if request.user.is_authenticated(): 
     return HttpResponseRedirect('/profile/') 
    if request.method == 'POST': 
     form= LoginForm(request.POST) 
     if form.is_valid(): 
      username = form.cleaned_data['username'] 
      password = form.cleaned_data['password'] 
      drinker = authenticate(username=username ,password=password) 
      if drinker is not None: 
       login(request,drinker) 
       return HttpResponseRedirect('/profile/') 
      else: 
       return render_to_response('login.html',{'form':form} , context_instance=RequestContext(request)) 
      else: 
       return render_to_response('login.html',{'form': form}, context_instance=RequestContext(request)) 
      else: 
       form= LoginForm() 
       context = {'form':form} 
      return render_to_response('login.html',context,context_instance=RequestContext(request)) 
def LogoutRequest(request): 
    logout(request) 
    return HttpResponseRedirect('/') 

回答

1

你有2 else:條件。這是無效的語法。轉到您提供的鏈接正在製作縮進錯誤。它應該是這樣的。其他內部if-else和其他外部if-else

if request.method == 'POST': 
      form = RegistrationForm(request.POST) 
      if form.is_valid(): 
        user = User.objects.create_user(username=form.cleaned_data['username'], email = form.cleaned_data['email'], password = form.cleaned_data['password']) 
        user.save() 
        drinker = Drinker(user=user, name=form.cleaned_data['name'], birthday=form.cleaned_data['birthday']) 
        drinker.save() 
        return HttpResponseRedirect('/profile/') 
      else: 
        return render_to_response('register.html', {'form': form}, context_instance=RequestContext(request)) 
    else: 
      ''' user is not submitting the form, show them a blank registration form ''' 
      form = RegistrationForm() 
      context = {'form': form} 
      return render_to_response('register.html', context, context_instance=RequestContext(request)) 
+0

是的,我有問題產生第二個其他列上的其他列。感謝斯里卡爾 – donkeyboy72 2013-02-20 14:57:43

+0

哦,我打算這樣做,但它說7分鐘,然後5分鐘。抱歉 – donkeyboy72 2013-02-20 15:18:19