#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 , 8 years ago
| Has patch: | set |
|---|
comment:2 by , 8 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