1

したがって、私のDjango URLSでサポートできるようにしたい:

mysite.com/section

mysite.com/section/

mysite.com/section/sectionAlphaNum

mysite.com/section/sectionAlphaNum/

私は現在URLパターンとして持っています:

(r'^section/(?P<id>\s?)?', section)

section/を必須にし、オプションの後に何かを作成する必要がありますが、入力した sectionAlphaNum をキャッチすることは決してないようです

def section(request,id):
    if id == '':
        # Do something with id
    else:
        # Do default action

しかし、IDで何かを行うブランチの場合、トップに到達することはないようです

4

4 に答える 4

1

正規表現では、^$はそれぞれ文字列の開始と終了を表します。

したがって、表示する URLは次の/section/ようになります。

(r'^section/$', section_view)

特定のセクションを表示する URLは次の/section/section-id/ようになります。

(r'^section/(?P<section_id>\w+)$', section_detail_view)

理想的には、次のように別々のビューを持っていますviews.py

def section_view(request):
    # show page about the various sections

def section_detail_view(request, section_id):
    # show page about specific section by section_id
于 2013-08-28T22:14:42.170 に答える
1

urls.py:

...
(r'^section/$', section),
(r'^section/(?P<id>\w+)/$', section),
...

ビュー.py:

def section(request, id=None):
    if id is None:
       ...
    else:
       ...

スラッシュのみを追加するには (から/sectionまで/section/)、設定で CommonMiddleware を有効にしますMIDDLEWARE_CLASSES

于 2013-08-28T22:15:00.907 に答える