Wenn ich die documentation, Ihre erste Syntax sollte verstehen, arbeiten richtig out-of-the-box.
Auf jeden Fall hier, wie Sie mit der neuen Syntax tun könnten:
Ersten file = machen ein Python-Paket converters
und fügen edit_or_delete.py
mit, dass:
import re
class EditOrDeleteConverter:
regex = '(edit|delete)'
def to_python(self, value):
result = re.match(regex, value)
return result.group() if result is not None else ''
def to_url(self, value):
result = re.match(regex, value)
return result.group() if result is not None else ''
Und für Ihre urls.py
Datei, dies:
from django.urls import register_converter, path
from . import converters, views
register_converter(converters.EditOrDeleteConverter, 'edit_or_delete')
urlpatterns = [
path('meeting/<edit_or_delete:action>/', views.meeting_view, name='meeting'),
]
Sie können 're_path' verwenden https://docs.djangoproject.com/de/2.0/ref/urls/#re-path – neverwalkaloner
@newalkaloner Wenn Sie Ihren eigenen' re_path' schreiben müssen, anstatt verwenden zu können Die Syntax ist sofort out-of-box, wie es bei der Version 1.x der Fall war. Dies ist keine Verbesserung von Django 2, sondern eine Regression. Ich hoffe, es gibt einen besseren Weg! –