#29146 closed Bug (fixed)
re_path() examples are missing ^ and $ in regexes
Reported by: | Seohong Park | Owned by: | nobody |
---|---|---|---|
Component: | Documentation | Version: | 2.0 |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Ready for checkin | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | yes | UI/UX: | no |
Description
An example about the usage of re_path()
in 'URL dispatcher' document https://docs.djangoproject.com/en/2.0/topics/http/urls/ is misleading.
Since re_path()
does not insert '$'
at the end of URL parameter (on the contrast, path()
inserts '^'
and '$'
at the beginning and the end of URL parameter),
re_path('articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/', views.month_archive)
would not be mapped to any URL, because re_path('articles/(?P<year>[0-9]{4})/', views.year_archive)
shades it.
(i.e. 'http://127.0.0.1:8000/articles/2018/12/'
invokes views.year_archive
, not views.month_archive
)
This is misleading, because readers might think re_path
also automatically inserts '^'
and '$'
to the parameter like path
does.
I think it would be better to insert '$'
at the end of each parameter of re_path()
in the document.
Additionally, mentioning about the fact that path()
automatically inserts '^'
and '$'
to the parameter also would be helpful.
Change History (4)
comment:1 by , 7 years ago
Has patch: | set |
---|
comment:2 by , 7 years ago
Summary: | An example in 'URL dispatcher' document is misleading → re_path() examples are missing ^ and $ in regexes |
---|---|
Triage Stage: | Unreviewed → Ready for checkin |
PR