Opened 13 months ago

Last modified 13 months ago

#27409 new New feature

Issues with admindocs docstring links generation

Reported by: Kris Avi Owned by: nobody
Component: contrib.admindocs Version: 1.10
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

Referring to:
https://docs.djangoproject.com/en/1.10/ref/contrib/admin/admindocs/

It seems the link generation isn't working as it should.

Let's say you want to generate link to tag "safe", then you have to use :tag:`built_in-safe` and it will generate link like "built_in-safe", whereas it may be better, if link text would be only the tag name or "safe". Same case with filters.

For views you can use generic class based views, in there by naming conventions can be capital letters. Class based views are classes and not methods and the naming of the view can be like BlogView or BlogEdit. But if generating link using the directives according to documentation it will not work since it will try to find view by name of "blogview" instead of "BlogView". It will automatically put it to lowercase and may make it not working.

Also after some experimenting, it seems like :view:`app_label.view_name` would not work, and have to use full path like: :view:`app_name.app_label.views.view_name`

Change History (2)

comment:1 Changed 13 months ago by Tim Graham

Summary: Django Admindocs links generationIssues with admindocs docstring links generation
Triage Stage: UnreviewedAccepted

For future reference, please limit a ticket to one issue. I thought it might be possible to workaround the first issue with :tag:`safe <built_in-safe>` but this doesn't work. Not sure why, but I'll accept the ticket for further investigation. If someone wants to address either issue here, we can open a separate ticket for the other one. I didn't investigate the second one.

comment:2 Changed 13 months ago by Kris Avi

For my own environment I made workaround that will disappear with new django update. It doesn't have any tests written, and I am sure that is not python way to solve that issue.
https://github.com/krisavi/django/commit/f7ff7d149ec5b8d278414ef7229a97945d371368

But I see it could be a good idea to add optional "link name" parameter for all of them, upon omiting it, the full location will be used. That would even work quite well.

Note: See TracTickets for help on using tickets.
Back to Top