在django命名变量中传递get参数

时间:2013-07-23 19:37:26

标签: django django-urls

我的网址格式如django中所定义 -

url(r'^import-contacts$', 'import_contacts', name='import_contacts'),

视图需要一个get参数,我在视图中解析并处理它,url的格式应为http://127.0.0.1:8000/import-contact/?service=google

在模板中,我执行以下操作 -

<a href="{% url "import_contacts" %}"> Text Here </a>

这将生成以下网址 - http://127.0.0.1:8000/import-contact/,而不是reqd的网址。

关于如何使用命名的url params传递get变量的任何想法。

2 个答案:

答案 0 :(得分:0)

只需在标记后添加:

<a href="{% url "import_contacts" %}?service=google"> 

答案 1 :(得分:0)

您的网址格式应如下所示:

url(r'^import-contacts/?service=(?P<service>\w+)/$', 'import_contacts', name='import_contacts'),

视图应该是这样的:

def import_contacts(request, service):
    # Do something with get variable "service"

现在,如果您只是使用

<a href="{% url "import-contacts" %}">TEXT HERE</a>

它会将您转到网址http://127.0.0.1:8000/import-contacts/?service=

您需要明确地给出GET参数。无论是硬编码还是使用模板。