Запишите URL в переменную в представлении Django
Я хочу поместить ссылку внутрь переменной (в View Django).
Но я получаю ошибку.
В разделе slug (slug =% slug), Python путает % url с %u!
Ошибка: формат %u: требуется число, а не строка
Я использую библиотеку Folium и хочу поместить ссылку во всплывающее окно. Поэтому я не могу использовать обычный режим и должен использовать другой метод.
for i in range(10):
slug=i
url = Template(
"""
<!DOCTYPE html>
<html>
<body>
<a href="{% url 'test' slug= %slug %}" target="_blank" style=" text-align:
right; ">Mor Info</a>
</body>
</html>
"""%slug).render(Context({}))
popup = folium.features.GeoJsonPopup(
fields=["name"],
aliases=[f'{url}'],
labels=True,
localize=True,
style="background-color: yellow;")
Вы уже передали пустой контекст, используйте его вместо форматирования строки.
for i in range(10):
slug=i
url = Template(
"""
<!DOCTYPE html>
<html>
<body>
<a href="{% url 'test' slug=slug %}" target="_blank" style=" text-align:
right; ">Mor Info</a>
</body>
</html>
""").render(Context({'slug': slug}))
popup = folium.features.GeoJsonPopup(
fields=["name"],
aliases=[f'{url}'],
labels=True,
localize=True,
style="background-color: yellow;")
Или просто напишите %s, вместо %slug, вы смешиваете вещи, я думаю.
print("%s" % "1")
print("%(bla)s" % {'bla':1}) # close to what you're attempting.
foo=1
print("{bla}".format(bla=1))
print(f"{foo}")
All print '1'.