0

基本的にdjangoを操作していると、このコードに構文エラーがあると言われ続けます。

from django.conf.urls import patterns, url

from venues import views

urlpatterns = patterns('',
    url(r'^$', views.index, name = 'index'),

    # ex /venues/3
    url(r'^(?P<venue_id>\d+)/$', views.detail, name='detail'),
    # ex: /venues/3/events
    url(r'^(?P<venue_id>\d+)/events/$', views.events, name='events')
)

具体的には、次のように言っているようです。

from venues import views

行が正しくありません。

ただし、私のvenues/views.pyは次のようになります。

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello this is the home page!")

def detail(request, venue_id):
    return HttpResponse("You're looking at Venue %s.", % venue_id)

def events(request, venue_id):
    return HttpResponse("You're looking at events at venue %s.", % venue_id)

したがって、ファイルは存在し、urls.pyでvenue_idを使い始めるまでは問題なく動作しているようです。

ああ、ちょうどいい意味で、私のメインのurls.pyは次のようになります。

from django.conf.urls import patterns, include, url

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'Comedy.views.home', name='home'),
    # url(r'^Comedy/', include('Comedy.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    url(r'^admin/', include(admin.site.urls)),
    url(r'^venues/', include('venues.urls')),
)

ですから、問題がどこから来ているのか完全にはわかりません。

どうもありがとう、私。

4

3 に答える 3

6

ファイルに構文view.pyエラーがあります:

return HttpResponse("You're looking at Venue %s.", % venue_id)

return HttpResponse("You're looking at events at venue %s.", % venue_id)

%文字列と文字列フォーマット演算子の間にコンマがありますが、これはPythonの正当な構文ではありません。%演算子の前のコンマを削除します。

将来的には、Pythonコードの問題を報告するときに、常に完全なpythonトレースバックを含めてください。これにより、問題が何であるかを推測する必要がなくなります。

于 2012-12-05T12:41:09.963 に答える
1

エラーはここにあると思います:

def detail(request, venue_id):
    return HttpResponse("You're looking at Venue %s.", % venue_id)

def events(request, venue_id):
    return HttpResponse("You're looking at events at venue %s.", % venue_id)

%venue_idの前のコンマを削除する必要があります。

于 2012-12-05T12:42:32.710 に答える
1

それ以外の:

def events(request, venue_id):
    return HttpResponse("You're looking at events at venue %s.", % venue_id)

試す:

def events(request, venue_id):
    return HttpResponse("You're looking at events at venue %s.")  % venue_id
于 2012-12-05T14:59:35.487 に答える