2011-01-19 17 views
1

2つのURLパターンが、私が設定しようとしているのと同じアプリケーションに存在します。異なるルートを持つDjango URLパターン

私は以下のようなURLが必要です。

しかし、これらの両方が同じDjangoのアプリケーションに住んでいます。

私の主なurls.pyは、/ p/12345のURLを扱うために、このようになっています。

urlpatterns = patterns('', 

(r'^p/', include('myproject.myapp.urls')), 
) 

と私のurls.pyは似ています。これは/ p/12345のURLだけを処理します。

urlpatterns = patterns('myproject.myapp.views', 

(r'^(?P<object_id>\d+)/$', 'some_view'), 
) 

私の問題は、どちらもほぼ同じですが、接頭辞が異なることです。/p/12345と/ s/12345の両方のURLでどのようにこれを行うことができますか?私はドキュメントを読んだが、これを理解することはできなかった。私は2つのurls.pyファイルでこれを行うための「控えめな」方法を考えましたが、よりよい方法が必要であることはわかっています。

答えて

0

空のパターンを含むURLファイルを含めることができます。

メインurls.py(foo/のような)他のルートが最初に来ていることを

urlpatterns = patterns('', 
    (r'foo/', 'foo_view'), 
    (r'^', include('myproject.myapp.urls')), 
) 

アプリのurls.py

urlpatterns = patterns('puzzlequest.pq.views', 
    (r'^p/(?P<object_id>\d+)/$', 'some_view'), 
    (r'^s/(?P<object_id>\d+)/$', 'other_view'), 
) 

注:あなたはこれを行うことができます。

+2

'http:// www.example.com /'というルートパスを持つ方法は、含まれているURLconfで定義されており、ルートURLconfでは定義されていませんか?それを機能させるように見えることはできません。 – jmagnusson

関連する問題