2014-09-29 21 views
0

我基本上希望将来自url的参数传递到我的渲染请求中。使用URL参数进行渲染调用以构建模板文件名称

纯粹出于演示的目的,相当于:

return render(request,'clients/models/{{client}}-{{report}}.json',context,content_type = 'application/json') 

我已经得到了来自url.py传递给view.py

在此先感谢您的帮助变量!

注意:从技术上来说,客户端和报表都是以__unicode__返回字符串的对象。如果这是不可接受的,字符串存储为client.slug和report.slug

+1

您不仅可以将它们解析出来并添加到上下文字典中吗? – 2014-09-29 05:48:38

+0

我刚刚删除了我发布的答案,因为我对你想要完成的工作感到困惑。您的值已从您的url.py传递到您的视图,并且您希望这些值可用于您的模板?如果是这样,直截了当。如果你想显示自定义网址,那么你需要使用重定向。否则,网址将显示为在您的url.py文件中分析的网址。如果您试图使用参数来生成引用,您应该只能使用'“clients/models/{} - {}。json”.format(client,report)' – 2014-09-29 06:09:29

回答

2

我不知道为什么你要在这里使用模板语法。在视图中,您使用的是Python:您可以使用普通的Python功能 - 在这种情况下,字符串插值:

return render(request, u'clients/models/%s-%s.json' % (client, report), ...) 
+0

不试图使用模板语法,只是解释我想要做的最简单的方法。感谢您的回答。不知何故,我不认为要恢复到Python。 – 2014-09-29 12:00:07