urls.py entry for django v1.10 mysite.com:8000/index.html



我在我的应用程序的url .py文件如何我想要它的url条目有麻烦。当一个人进入mysite.com:8000/时,我希望它使用与mysite.com:8000/index.html相同的视图,我可以使用url(r'^index.html$', views.index, name='index'),,当我在chrome地址栏中输入mysite.com:8000/index.html时,视图正确显示,或者我可以在url .py条目和地址栏中修剪.html,这是可以的,但我用正则表达式计算,我可以得到这个显示为/index*

很多谷歌搜索还没有让我得到答案…

编辑:基于@moses的更新:

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)

现在我得到:"异常值:index()只接受1个参数(给定2)"

您可以使用以下regex模式匹配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')

参见demo: https://regex101.com/r/MVCPDN/2

相关内容

最新更新