django - Django:从哪里清除 URL 中的值?
问题描述
我想写一个基于类的视图,我想清理 URL 的一部分:
URL 如下所示:
r'^some-date/(?P<date>\d\d\d\d-\d\d-\d\d)/view'
我应该使用哪种方法将字符串(例如“2018-12-31”)“清理”到 python datetime 对象?
解决方案
在 django2.0 中我们可以使用路径转换器。
custom_path_converter.py
from datetime import datetime
class DatePathConverter:
regex = '\d\d\d\d-\d\d-\d\d'
def to_python(self, date_str):
date = datetime.strptime(value, "%Y-%m-%d").date()
return date
def to_url(self, date):
return date.strftime("%Y-%m-%d")
网址.py
from django.urls import register_converter, path
from .views import views
register_converter(DatePathConverter, 'date')
urlpatterns = [
# ....
path('some-date/<date:date>/', views.some_view)
# ....
]
阅读:https
://learnbatta.com/blog/django-custom-path-converters-17/
官方文档:https ://docs.djangoproject.com/en/2.0/topics/http/urls/#registering-custom -路径转换器
推荐阅读
- ios - MKMapView 有警告(VKBuildingFootprintTileSource)
- python - f = open_input_file("sample", "rb") 中的断言错误:
- java - 日期年份值在无效时显示有效
- javascript - 动态创建的元素
- php - 在 wordpress/PHP 中使用 fputs() 将 ISO 8859-1 字符串写入文件
- android - Kotlin 类导致 App 崩溃
- amazon-web-services - 如何一次性为多个实例附加 IAM 角色
- php - Facebook Messenger结构化消息php不显示php
- javascript - 向 Bootstrap 响应式模态图像库添加标题
- python - 函数中的 None 是什么意思/可选字段