2017-09-19 15 views
0

初心者としてDjango1.11.5(python2.7)を学ぶときに問題が発生しました。 urls.py、views.pyなどがあります。ここではviews.pyです:Python Djangoコードのインデントエラー?

## views.py 
from django.http import HttpResponse 
import datetime 

def hello(request): 
    return HttpResponse("Hello World") 

def current_datetime(request): 
    now = datetime.datetime.now() 
    html = "<html><body>It is now %s.</body></html>" % now 
    return HttpResponse(html) 

そして、ここではurls.pyです:

## urls.py 
from django.conf.urls import url 
from django.contrib import admin 

from mysite import views 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^hello/$', views.hello),   ##name='home' is not necessary 
    url(r'^time/$', views.current_datetime), 
] 

私は、コマンドを使用する場合:のpython manage.pyのrunserverを、表示ミスがあります: のhtml =「それは、今は%sです。 " %now

IndentationError:予期しないインデント。私はスペースとタブをチェックし、間違いを見つけませんでした。 "now = datetime.datetime.now()"の行を "now = 1234"に変更すると間違いはありません。また、最後の行に括弧が含まれている場合、次の行にはIndentationError(round(2.5)などの関数でさえ)があります。

私はこの問題を解決することはできません、誰も私を助けることができますか? ありがとうございました!

+0

あなたの編集者がインデントなどにタブを使用していないことは確かですか?それはPythonパーサを台無しにする可能性があります。 – spectras

答えて

1

IndentationError:インデントブロックPythonはブロックを定義するためにインデントを使用しています予想。

html = "<html><body>It is now %s.</body></html>" % now 

崇高なテキストを使用していて、コードが適切にインデントされていないと思います。行からスペースを削除し、1タブまたは4スペースを再度書き込むことができます。

+0

ありがとうございました!問題はまさにあなたが指摘したものです。 – midudu

0

括弧で囲んでhtml = "<html><body>It is now %s.</body></html>" % nowの行を囲みます。このよう

html = ("<html><body>It is now %s.</body></html>" % now) 

だろうこれを行うための新しい方法:

"<html><body>It is now {}.</body></html>".format(now) 
+0

この回答の一部として、miduduについて説明してもらえますか?* * *なぜですか? –

関連する問題