繁体   English   中英

django v1.10 mysite.com:8000/index.html 的 urls.py 条目

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

我无法按照我想要的方式在我的应用程序的 urls.py 文件中获取 url 条目。 当一个人输入mysite.com:8000/ ,我希望它使用与mysite.com:8000/index.html相同的视图我可以使用url(r'^index.html$', views.index, name='index'),并且当我在 Chrome 地址栏中键入mysite.com:8000/index.html时,视图会正确显示,或者我可以从 urls.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 个)”

您可以使用以下正则表达式模式匹配 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(r'^(?:index.html)?$', views.index, name='index')

见演示: https : //regex101.com/r/MVCPDN/2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM