2016-10-15 12 views
1

私のアプリのurls.pyファイルにurlエントリを取得するのに問題があります。 人がmysite.com:8000/と入力したときに、mysite.com:8000/index.htmlと同じビューを使用したいmysite.com:8000/index.htmlをクロムのアドレスバーに入力するとurl(r'^index.html$', views.index, name='index'),と表示され、表示が正しく表示されるか、.htmlを両方とも削除することができますアドレスバーには、それは大丈夫だが、私は正規表現を考え出し、私は...これは/のためか、まだ答えに私を聞かせていないグーグルのindex*django v1.10のurls.pyエントリmysite.com:8000/index.html

たくさんに表示する

EDITを得ることができます: @ moosesに基づく更新:

from django.conf import settings 
from django.conf.urls import url 
from django.conf.urls.static import static 
from . import views 

urlpatterns = [ 
     url(r'^(index\.?[html]{,4})?$', views.index, name='index'), 
#  url(r'^index$', views.index, name='index'), 
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 

今私が手:

答えて

1

:「例外値指数()は正確に1引数(2与えられた)を取り、」あなたは、URLすなわち^$かのいずれかで'index.html'の0または1回の繰り返しに一致し、次の正規表現パターンを使用することができますr'^index.html$'

>>> re.match(r'^(?:index\.html)?$', 'index.html') 
<_sre.SRE_Match object; span=(0, 10), match='index.html'> 
>>> re.match(r'^(?:index\.html)?$', '') 
<_sre.SRE_Match object; span=(0, 0), match=''> 
>>> re.match(r'^(?:index\.html)?$', 'login') 
>>> 

そして、あなたのDjangoのURLパターンは次のようになります。

url(r'^(?:index.html)?$', views.index, name='index') 

参照のデモ:https://regex101.com/r/MVCPDN/2

+0

ありがとうございました! 'index'や' index.htm'などのオプションはどうでしょうか? – Keith

+0

それは動作していないようです。 – Keith

+1

@Keithグループ化されていない機能が欠けていました: '^(?:index \。?[html] {、4})?$' –

関連する問題