2016-02-05 53 views
0
def register(request): 
    """Register a new user.""" 
    if request.method != 'POST': 
    # Display blank registration form. 
    form = UserCreationForm() 
    else: 
    # Process completed form. 
    form = UserCreationForm(data=request.POST) 
    if form.is_valid(): 
     new_user = form.save() 
     # Log the user in and then redirect to home page. 
     authenticated_user = authenticate(username=new_user.username,password=request.POST['password1']) 
     login(request, authenticated_user) 
     return HttpResponseRedirect(reverse('learning_logs:index')) 
    context = {'form': form} 
    return render(request, 'users/register.html', context) 

我得到了一個錯誤: TabError:標籤的使用也不一致,空間縮進 我得到了^略低於[「密碼1」])Python的縮進如何解決

+1

聽起來像你正在使用製表符和空格。選一個。 – Andy

+1

你(當然)可以隨意挑選你想要的東西。但是,python社區中的大部分遵循PEP8中的建議__4 spaces__的準則。 – mgilson

+1

我寧願設置一個編輯器來執行PEP8所要求的所有Python代碼 – dlmeetei

回答

0

聽起來像是你有一個代碼中的選項卡和空格混合。 PEP8建議您使用空格

Spaces are the preferred indentation method.

有一個安裝包的PyPI,reindent,您可能需要使用的縮進。

0

現有的答案和意見是正確的,但這裏的一些細節:

在文本編輯器,把你的光標在authenticated_user = ...開始,然後單擊左箭頭按鈕向左移動光標。你會發現兩個空格,然後光標會跳過你的問題中代碼中仍然存在的選項卡。該選項卡需要用空格替換,或者需要將所有其他代碼轉換爲使用製表符(但前面提到的空格是首選)。

+0

感謝所有回覆。是的,我試着將光標放在開頭,然後向左移動,發現前面有一個標籤。現在使用空格鍵,而且都很好。 –