django url_for эквивалент - PullRequest
       3

django url_for эквивалент

0 голосов
/ 20 марта 2019

Я пытаюсь найти метод django, который эквивалентен url_for Flask.

Я не ищу эквивалент дзиндзя (как показано здесь ) - я говорю о стороне питона дома

в своем приложении для колб я отправляю строку HTML следующим образом:

my_picture = '<img src="{}">'.format(url_for('static', filename=r'images/myPic.jpg'))

Я знаю, что могу сделать это в html как <img src={{ my_picture }}>, но это не моя цель.

То, что я делал, это

from my_project.settings import STATIC_URL
my_picture = '<img src="{}">'.format(os.path.join('static', 'images/myPic.jpg'))

но должен быть лучший способ

Спасибо!

Ответы [ 2 ]

1 голос
/ 20 марта 2019

Это зависит от того, что вы ищете.

Статические файлы

Если вы хотите получить URL для статического файла , вы можете использовать следующий бит:

from django.templatetags.static import static

url = static('images/myPic.jpg')

URL config

Если вы хотите получить URL-путь именованного URL-адреса в конфигурации URL-адреса, вы можете использовать распознаватель URL reverse . Допустим, ваш конфиг URL выглядит следующим образом:

Если ваш URL-адрес будет выглядеть так:

from example import views

path('my/fancy/example/', views.example, name='my-example-view')

Тогда вы можете получить URL с этим:

from django.urls import reverse

url = reverse('my-example-view') # will return "my/fancy/example/"
1 голос
/ 20 марта 2019

Я также использую тег шаблона в моих файлах Python:

from django.contrib.staticfiles.templatetags.staticfiles import static

url = static('images/myPic.jpg')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...