-1

Django で実行されているアプリケーションがあります。urls.py には次のエントリがありました -

url(r'^$', 'web.views.index', name='index'),
url(r'^g$', 'web.views.getpost', name='getpost'),

url(r'^p$', 'web.views.postarticle', name='postarticle'),

これらの URL パターンでは正常に機能していました。ただし、さらに 2 つの URL パターンを追加しました -

url(r'^d$', 'web.views.delete', name='delete'),

url(r'^u$', 'web.views.update', name='update'),

そして、私がヒットしたとき

http://127.0.0.1:8000/d

次のようになります - 現在の URL d は、これらのいずれにも一致しませんでした。

新しく追加された URL パターンを認識しない理由がわかりません。なぜそれが機能しないのですか?

編集:ウェズリーが述べたように、それは示しています:

リクエスト URL: http://127.0.0.1:8000/d Django は次の URL パターンを次の順序で試しました。

^$ [name='index']
^g$ [name='getpost']
^p$ [name='postarticle']

^d または ^u の URL パターンは表示されません。

ここに私の urls.py があります

from django.conf.urls.defaults import patterns, url
from django.conf import settings

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

    url(r'^p$', 'web.views.postarticle', name='postarticle'),
url(r'^d$', 'web.views.delete', name='delete'),

    url(r'^u$', 'web.views.update', name='update'),
)
4

2 に答える 2

1

質問へのコメントに示されているように、問題は古い .pyc ファイルでした。これは、.pyc ファイルを削除してサーバーを再起動することで修正されました。

今後この問題を回避するには、開発サーバーを起動する前に .pyc ファイルを削除する必要があります。次のコマンドを使用して、現在のディレクトリとすべてのサブディレクトリ内のすべての pyc ファイルをすばやく削除できます (それらを強制終了する前に、find が正しいファイルを返すことを確認してください)。

find . -name "*.pyc" #Find all pyc files and list them to console
find . -name "*.pyc" -exec rm '{}' ';' #Run command rm on each file found
于 2012-04-13T10:39:24.967 に答える
1

問題は、あなたが私たちに提供した情報にはありません。アクセスしようとしている URL パターンと URL の両方が正常に見えます。

-> デバッグ ビューは正確に何を返しますか? 表示されます:

リクエスト URL: http://127.0.0.1:8000/d Django は次の URL パターンを次の順序で試しました。

^ ^$ [name='index']
^ ^g$ [name='getpost']
^ ^p$ [name='postarticle']
^ ^d$ [name='delete']
^ ^u$ [name='update']

おそらく、デバッグ ビューに削除 URL がリストされていないか、タイプミスで表示されているか、リクエスト URL が少し異なっている可能性があります。それでも問題が解決しない場合は、もう少し情報を提供してください。

于 2012-04-13T07:06:06.830 に答える