path_same_name_urls.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. from django.urls import path, re_path, register_converter
  2. from . import converters, views
  3. register_converter(converters.DynamicConverter, 'to_url_value_error')
  4. urlpatterns = [
  5. # Different number of arguments.
  6. path('number_of_args/0/', views.empty_view, name='number_of_args'),
  7. path('number_of_args/1/<value>/', views.empty_view, name='number_of_args'),
  8. # Different names of the keyword arguments.
  9. path('kwargs_names/a/<a>/', views.empty_view, name='kwargs_names'),
  10. path('kwargs_names/b/<b>/', views.empty_view, name='kwargs_names'),
  11. # Different path converters.
  12. path('converter/path/<path:value>/', views.empty_view, name='converter'),
  13. path('converter/str/<str:value>/', views.empty_view, name='converter'),
  14. path('converter/slug/<slug:value>/', views.empty_view, name='converter'),
  15. path('converter/int/<int:value>/', views.empty_view, name='converter'),
  16. path('converter/uuid/<uuid:value>/', views.empty_view, name='converter'),
  17. # Different regular expressions.
  18. re_path(r'^regex/uppercase/([A-Z]+)/', views.empty_view, name='regex'),
  19. re_path(r'^regex/lowercase/([a-z]+)/', views.empty_view, name='regex'),
  20. # converter.to_url() raises ValueError (no match).
  21. path(
  22. 'converter_to_url/int/<value>/',
  23. views.empty_view,
  24. name='converter_to_url',
  25. ),
  26. path(
  27. 'converter_to_url/tiny_int/<to_url_value_error:value>/',
  28. views.empty_view,
  29. name='converter_to_url',
  30. ),
  31. ]