#django #django-templates
#django #django-шаблоны
Вопрос:
В настоящее время моя конфигурация выглядит примерно так:
urls.py:
url(r'^(?P<slug>[-_~w] )/$', SomeDetailView.as_view(), name='detail'),
views.py простая ваниль такая:
class GetDetailView(SomeDetailViewMixin, DetailView):
model = Dummy
template_name = "detail.html"
и html выглядит так:
<h2><a href="{% url 'detail' i.slug %}" rel="nofollow"></a>Text</h2>
.. и все работает отлично. Однако то, что я сейчас ищу, — это передать другую переменную (например, pk — say var2
) через html в url conf. Итак, что-то вроде:
html (который является ListView
):
<h2><a href="{% url 'detail' i.slug i.var2 %}" rel="nofollow"></a></h2>
и urls.py что — то вроде:
url(r'^(?P<slug>[-_~w] )/$', SomeDetailView.as_view(), kwargs={'var2': var2}, name='detail'),
возможно ли что-то в этом роде? Чего я не хочу, так это включать var2
в сам URL (потому что var2 есть ugly
)…
Я помню, как делал что-то в этом роде год назад, но моя память снова подвела меня…
Был бы признателен за любую помощь в этом…
Ответ №1:
Это должна быть информация, которую вы можете определить сами по i
себе. Так что вам это вообще не нужно в теге шаблона url. итак, поскольку вы уже получили DetailView
доступ к нему из объекта через
self.get_object().var2
Комментарии:
1. Проблема в том, что я переопределяю
get_object
метод вSomeDetailViewMixin
(причина в том, что я запрашиваю внешнюю базу данных ключ-значение).. Итак, мне нужно этоvar2
через url…2. @JohnJ — Как вы это переопределяете? Я надеюсь, что он по-прежнему дает вам тот же экземпляр
i
, который вы запрашиваете через его slug, если вам это нужно через URL, тогда он должен быть частью URL, я боюсь3. Я работаю с Django без БД .. так что у меня вроде как нет экземпляров .. 🙁
4. @JohnJ — Я не думаю, что кто-нибудь сможет помочь без дальнейшего объяснения этого в вашем вопросе. У вас должен быть какой-то способ получения объекта, поскольку вы ссылаетесь на его slug