0

これは、説明のパラメーターとして渡したときに機能しないテキストです(戻り文字とそれに続くURLを含む)。私はこれをdjangoでやっています。

パートナー/BuzzFeed/ fXkqhhIlOtA / NYヤンキース:シーズン後の記念品の6つの重要な部分/アメリカ野球殿堂は、ヤンキースのシーズン後の記念品の6つの部分を披露します:1923年のワールドシリーズの時計。1926年のワールドシリーズのベーブ・ルースのコウモリ。1956年のドンラーセンのパーフェクトゲームからのヨギベラのグローブ。1962年のワールドシリーズの最後のアウトボール。1996年のワールドシリーズのデレク・ジーターのジャージ。2000サブウェイシリーズのマリアノリベラの帽子。http://www.buzzfeed.com/sports/

urlpatterns = patterns('reserve.views',
    url(r'^partner/(?P<partner_name>[-\w]+)/$', 'partner_channel'),
    url(r'^partner/(?P<author>[-\w]+)/(?P<video>[-\w]+)/$', 'video_player'),
    url(r'^partner/(?P<author>[-\w]+)/(?P<video>[-\w]+)/(?P<title>.+)/(?P<desc>.+)/$', 'video_player'),
    url(r'^category/(?P<category>[-\w]+)/$', 'all_partners'),
    url(r'^admin/', include(admin.site.urls)),
)

これを可能にするためにdescパラメータの正規表現を変更するにはどうすればよいですか?

編集:

リクエストURLページが見つかりません(404):

http:/localhost:8000/partner/BuzzFeed/fXkqhhIlOtA/NY%20Yankees:%206%20Essential%20Pieces%20of%20Postseason%20Memorabilia/The%20National%20Baseball%20Hall%20of%20Fame%20shows%20off%206%20pieces%20of%20Yankees%20postseason%20memorabilia:%20a%20watch%20from%20the%201923%20World%20Series;%20Babe%20Ruth's%20bat%20from%20the%201926%20World%20Series;%20Yogi%20Berra's%20glove%20from%20Don%20Larsen's%20perfect%20game%20in%201956;%20the%20last%20out%20ball%20in%20the%201962%20World%20Series;%20Derek%20Jeter's%20jersey%20from%20the%201996%20World%20Series;%20Mariano%20Rivera's%20hat%20from%20the%202000%20Subway%20Series.%0A%0Ahttp://www.buzzfeed.com/sports/
4

3 に答える 3

0

問題は、タイトルの一致が貪欲で、必要以上に一致し、セクションを区切る/がタイトルに含まれ、descが最後の/(URLにある)以降のすべてであるということです。

欲張りでないように変更します(?P<title>.+?)

url(r'^partner/(?P<author>[-\w]+)/(?P<video>[-\w]+)/(?P<title>.+?)/(?P<desc>.+)/$', 'video_player'),
于 2012-10-11T14:42:19.243 に答える
0

オプションを与えsます。デフォルトでは、改行を除く.すべての文字に一致します。また、タイトル部分を貪欲でないものにする必要があります。そうしないと、説明全体と一致するためです。そうする代わりにを使用してください。.+?.+

于 2012-10-11T14:43:17.770 に答える
0

あなたurlpatternsは上書きされています(おそらく不適切です)。'video_player'に一致する2つのパターンがありますが、'desc'に一致するパターンはありません:

url(r'^partner/(?P<author>[-\w]+)/(?P<video>[-\w]+)/$', 'video_player'),
url(r'^partner/(?P<author>[-\w]+)/(?P<video>[-\w]+)/(?P<title>.+)/(?P<desc>.+)/$', 'video_player'),

最後のURL識別子を上から「video_player」以外に変更します。

于 2012-10-11T15:03:24.007 に答える