Django 2.2.3 Как получить все шаблоны URL и названия всех представлений - PullRequest
0 голосов
/ 05 июля 2019

Я кодирую приложение с помощью Django == 2.2.3

К настоящему времени я хочу получить все urls_patterns всего моего проекта и имя связанного представления.

Как я могу получить что-то вроде этого:

    urls_patterns_view_names_list = [
        ("view_name", "view_name: url_pattern"),
        ...,
        ...,
        ...,
]

Я видел несколько тем на тему шаблонов URL, но ни одна из них не соответствует и делает то, что я хочу. По большей части ответы очень старые и навязчивые для моего случая. Вот почему я переформулирую свой вопрос: я хочу, чтобы шаблоны URL-адресов и для каждого URL-адреса ассоциировались с именем его представления: как я могу сделать это с Django 2.2.3 на python 3.7?

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

Вы можете достичь этого с помощью django-extensions:

pip install django-extensions

Затем в settings.py:

INSTALLED_APPS = [
    ...
    'django_extensions',
    ...
]

И, наконец,в вашей командной строке:

./manage.py show_urls


Это приведет именно к тому, что вы хотите.Из документации пакета:

show_urls: создание списка разделенных табуляцией списков (url_pattern, view_function, name) для проекта.

0 голосов
/ 05 июля 2019

Это не просто тривиально, но я написал модуль, https://github.com/valohai/django-urr,, в котором есть утилиты для работы и обхода преобразователей URL Django.

Если вы в конечном итоге используете его, вы можете просто использовать

for entry in django_urr.extract_urls():
    print(vars(entry))

- см. здесь для всего содержимого entry с.

...