1

「-」文字を含む URL に対して 404 エラーが発生します...

プロジェクトルートの私のurls.pyは正常に動作します

url(r'^serialy/', include('movieSite.series.urls')),

次は、

urlpatterns = patterns('',

              url(r'^$', views.serialy_index, name='serialy_index'), #this works 

              (r'^(?P<serial_title>[\w]+)/$', serial),

              )

2 つ目は、serial_titleを使用して、シリーズのタイトルが「Dexter」または「Continuum 」のようなものである場合にのみ機能します。ただ、他のシリーズで「ファミ男」みたいなタイトルが出てくるので、URLを作るときに「ファミ男」に変更する機能を使っているのですが、なぜか「-」が付いているタイトルではうまくいきません。私はいつもこのような404エラーを受け取ります

Using the URLconf defined in movieSite.urls, Django tried these URL patterns, in this order:

^serialy/ ^$ [name='serialy_index']
^serialy/ ^(?P<serial_title>[\w]+)/$

^static\/(?P<path>.*)$
The current URL, serialy/Whats-with-Andy/, didn't match any of these.

ここでは、url serialy/whats-with-andy/が一致しませんが、serily/continuumにアクセスすると正常に動作しますか?? 誰がこれを引き起こす可能性があるかについて何か考えがありますか? ああ、これはビューがどのように見えるかです

def strip(s):
    s.replace('-',' ')
    return s
def serial(request, serial_title=None) :
    s_title = strip(serial_title) 
    obj = Show.objects.get(title__icontains=s_title)
    #episodes = obj.episodes
    des = obj.description 
    img = obj.image 
    title = obj.title 

    t = get_template('serial.html')
    html = t.render(Context({
                             'the_title':title,'the_image':img,'the_description':des
                             })) 
    return HttpResponse(html)
4

2 に答える 2

0

正規表現[\w]+は単語のみに一致し、のような特殊文字には一致しません-

に変更すると、[-\w]+「スラッグ」URL と一致します。

于 2014-08-12T13:33:13.467 に答える