【问题标题】:How to pass around variables without url parameters in Django?如何在Django中传递没有url参数的变量?
【发布时间】:2015-07-11 19:09:39
【问题描述】:

我的问题是,我如何才能将 django 中的信息从模板传递到没有 url 参数的视图。我知道会话可以帮助我做到这一点,但是,我在网上找不到任何资源来展示如何在模板中的会话中创建键值对。例如,如果我有一个链接

<a href= "{% url .....%}">{{ c.class_id }}</a>

这将引导您访问特定的大学课程主页,我如何将c.class_id 传递给负责呈现此特定主页的视图?我是否必须将此链接放入表单中,然后将其发布到视图中?

【问题讨论】:

  • 为什么不使用 URL 参数呢?
  • 尽量避免url参数过多。我已经用 url 参数实现了我需要的东西,但是我必须传递 url 中的所有参数,即使是我不再需要的参数。例如,如果我的 url 中有一个 clasd_id 参数和一个 assignment_id 参数,并且我在添加视图中工作,我不再需要 class_id 参数,但 django 要求我仍然传递它

标签: django django-templates url-parameters


【解决方案1】:

您可以使用 GET 参数。示例:

<a href= "{% url .....%}?class_id={{c.class_id}}">{{ c.class_id }}</a>

要从 Django 视图中检索参数,请使用:

param_value = request.GET['param_name']

【讨论】:

  • 比如说我的 url 是“class/assignments”,现在它必须是“class/assignments?class_id = ......”吗?
  • 是的,就是这样。但= 周围没有空格。请参阅en.wikipedia.org/wiki/Query_string 了解更多信息。要从 Django 视图访问参数,请使用 request.GET['parameter_name']
猜你喜欢
  • 2022-07-08
  • 1970-01-01
  • 2012-09-30
  • 1970-01-01
  • 2011-11-25
  • 2016-02-20
  • 1970-01-01
  • 1970-01-01
  • 2014-03-22
相关资源
最近更新 更多