python - 捕获 yyyy-mm-dd 日期的 Django url

标签 python regex django django-urls

如何在 Django 中捕获包含 yyyy-mm-dd 的 url。所以就像 www.mydomain.com/2011-02-12。我试过了:

url(r'^(?P<date>\d{4}-\d{2}-\d{2})/$', views.index, name='index'), 

但是,服务器说找不到页面。

最佳答案

在 Django 3.0.5 中,我使用以下 urls.py 完成了此操作

from django.urls import path, register_converter
from datetime import datetime
from . import views

class DateConverter:
    regex = '\d{4}-\d{2}-\d{2}'

    def to_python(self, value):
        return datetime.strptime(value, '%Y-%m-%d')

    def to_url(self, value):
        return value

register_converter(DateConverter, 'yyyy')

urlpatterns = [
    path('', views.index, name='index'),
    path('date/<yyyy:date>/', views.date, name='date'),
]

关于python - 捕获 yyyy-mm-dd 日期的 Django url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41212865/

相关文章:

python - Django/Python 中的日常流程

Python 3.3 TKinter 图像不存在

python - 是否可以通过 django 测试客户端中的 post 请求传递 request.body?

django - 预填充 MultipleChoiceField django

c - 如何快速对许多正则表达式键进行字符串匹配?

regex - 如何在 swift 项目中查找非本地化字符串

python - 如何在 django rest 框架中支持端点的所有 REST 操作

python - 在 Python 中强制整数溢出

python - 如何使用 gspread 将表格(列表列表)写入 Google 电子表格

c# - 不确定为什么 Regex.Replace() 在使用包含正则表达式模式(涉及捕获组)的字典时不起作用