6

ここ数日、Django を学ぼうとしてきましたが、最近、解決できない問題に出くわしました。最初のアプリを作成するための Django 独自のチュートリアルを終えた後、もう一度やり直すことにしました。私が構築していた元のアプリの要件に合わせてすべてを置き換えるのは今だけです。

そのため、パート 3 に到達するまではすべてうまくいきました。ロードしようとするとhttp://localhost:8000/lru/、次のエラー メッセージが表示されます。

AttributeError at /lru/
'module' object has no attribute 'index'

トレースバック:

Internal Server Error: /favicon.ico
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 92, in get_response
    response = middleware_method(request)
  File "/Library/Python/2.7/site-packages/django/middleware/common.py", line 69, in process_request
    if (not urlresolvers.is_valid_path(request.path_info, urlconf) and
  File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py", line 551, in is_valid_path
    resolve(path, urlconf)
  File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py", line 440, in resolve
    return get_resolver(urlconf).resolve(path)
  File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py", line 319, in resolve
    for pattern in self.url_patterns:
  File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py", line 347, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py", line 342, in urlconf_module
    self._urlconf_module = import_module(self.urlconf_name)
  File "/Library/Python/2.7/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/Users/oyvindhellenes/Desktop/Sommerjobb 2013/mysite/mysite/urls.py", line 10, in <module>
    url(r'^lru/', include('lru.urls', namespace="lru")),
  File "/Library/Python/2.7/site-packages/django/conf/urls/__init__.py", line 25, in include
    urlconf_module = import_module(urlconf_module)
  File "/Library/Python/2.7/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/Users/oyvindhellenes/Desktop/Sommerjobb 2013/mysite/lru/urls.py", line 6, in <module>
    url(r'^$', views.index, name='index')
AttributeError: 'module' object has no attribute 'index'

私のコード:

ビュー.py

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the poll index.")

lru/urls.py

from django.conf.urls import patterns, url

from lru import views

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

mysite/urls.py

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

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^polls/', include('polls.urls', namespace="polls")),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^lru/', include('lru.urls', namespace="lru")),
)

私のフォルダ構造は次のようになります。

mysite/
    lru
    templates
    polls
    manage.py
    mysite

lru/
    templates
    urls.py
    admin.py
    __init__.py
    models.py
    tests.py
    views.py

「投票」の例のチュートリアルで行ったのとまったく同じようにすべてを行ったので、奇妙です。名前を置き換えるだけです。url(r'^lru/', include('lru.urls', namespace="lru")),mysite/urls.py でコメントアウトすると、正常にhttp://localhost:8000/polls/動作しますが、/lru を動作させることができないようです。

これは本当に私を殺しているので、どんな形の助けにも感謝します!

編集:完全なトレースバックを追加

4

5 に答える 5

0

Django の URL は次のように機能します。

  1. includeからの URLmysite/mysite/urlsmysite/polls/urls、mysite プロジェクト内で作成された投票があることを示します。
  2. このmysite/polls/urlsファイルは、「polls/」という URL にアクセスするたびに、次の行を入力したときに示す関数を呼び出す必要があることを示していますindex()mysite/polls/views
    urlpatterns = [    
        path('', views.index, name = 'index'),    
    ]
  1. 覚えておくべき非常に重要なことは、ファイルが更新されるように、サーバーを実行する前に編集した各ファイルを保存することです。サーバーを実行したままにして、ファイルを保存することもできます。
于 2021-11-14T13:30:53.690 に答える