我有一些问题,也许我可以给予一个例子,下面两个观点我想达到的。
class SomeViewOne(TemplateView):
model = None
template_name = 'app/template1.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
# The downloads view contains a list of countries eg France, Poland, Germany
# This returns to context and lists these countries in template1
class ItemDetail(TemplateView):
model = None
template_name = 'app/template2.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
countries_name = kwargs.get('str')
The view should get the passed "x" with the name of the country where I described it
below.
然后在页面上我有一个这些国家的列表。点击选定的国家后,一个新的标签应该打开,并显示选定国家的城市列表。
因此,我在循环中使用template1.html,如下所示
{% for x in list_countries %}
<li>
<a href="{% url 'some-name-url' '{{x}}' %}" class="target='_blank'">{{ x }}</a><br>
</li>
{% endfor %}
"我不能这样通过“X”为什么"
下一个视图的url如下所示
path('some/countries/<str:x>/',views.ItemDetail.as_view(), name='some-name-url'),
我无法在href中获取模板中给定的“x”
3条答案
按热度按时间gopyfrb31#
如果Manoj的解决方案不起作用,试着去掉单引号AND {{ }}。在我的程序中,我的整数不需要用{{ }} Package ,所以你的字符串也不需要。我在代码中有这样的代码:
它工作得很好。试试看:
omqzjyyz2#
您不需要用单引号传递该变量。
看看它是否显示在模板上
vlju58qv3#
有几种错误如:
x
,既不能是{{x}}
,也不能是'{{x}}'
1.您在url参数(
some/countries/<str:x>/
)中将值作为x
传递,并使用kwargs.get('str')
访问它,这是不正确的,它应该是kwargs.get('x')
。1.此外,您没有在上下文中包括变量
countries_name
,甚至没有返回上下文。**注意:**假设您已经在
template1.html
模板中获取了一些公司,这就是您运行循环的原因。请尝试以下代码:
views.py
模板1.html文件
目前,您可以使用
{{countries_name}}
将此值从template1.html传递到template2.html文件。template2.html