django无法从超链接获取请求

时间:2014-06-24 10:31:48

标签: django url get

我已经制作了像这样的超链接

<a href="{% url "csv_download" %}?format="csv"">Download CSV</a>

我的网址是

url(r'^download/(?P<format>)',SingleNewsView.as_view(), name="csv_download")

在我的视图中,我得到了获取格式的方法,如果有格式= csv,我想进行查询。我不知道如何获得这种格式。当我运行上面的脚本时,它给出get()正好需要3个参数(给定2个)。任何人都可以帮忙??

3 个答案:

答案 0 :(得分:0)

您的网址格式正在寻找名为的参数,但您实际上正在传递 querystring 参数。

如果您希望模式为:

/download/csv/

然后,您需要将对url的通话更改为:

<a href="{% url "csv_download" "csv" %}">Download CSV</a>

如果您想从查询字符串中获取值,则需要将您的网址格式更改为:

url(r'^download/$',SingleNewsView.as_view(), name="csv_download")

然后你可以选择&#34;格式&#34;参数使用:

format = request.GET.get('format')

在任何一种情况下,你都错过了模式终结符,&#34; / $&#34;,它应该是:

url(r'^download/(?P<format>)/$',SingleNewsView.as_view(), name="csv_download")

答案 1 :(得分:0)

您是否尝试过:{%url'csv_download'format ='csv'%}或{%url'csv_download''csv'%}

答案 2 :(得分:0)

请尝试此{%url'csv_download'csv%}并在格式后添加+ W