如何将URL参数添加到Django模板的url标签中?

11 浏览
0 Comments

如何将URL参数添加到Django模板的url标签中?

在我的看法中,要获取像这样的URL参数:

date=request.GET.get('date','')

在我的URL中,我试图用URL模板标签这样传递参数:

添加到日志

问号后面的参数显然不起作用,我该如何传递这个数据值以便通过get方法检索?

0
0 Comments

在Django模板的url标签中添加URL参数的方法是可以通过以下三个简单步骤完成的:

1)使用url标签添加item id:

{% for item in post %}

  {{ item.id }}
  {{ item.title }}
  {{ item.body }}
  
    Edit
    Delete
  

{% endfor %}

2)在urls.py中添加路径:

path('edit/', views.edit, name='edit')
path('delete/', views.delete, name='delete')

3)在views.py中使用id:

def delete(request, id):
    obj = post.objects.get(id=id)
    obj.delete()
    return redirect('dashboard')

避免使用截图,直接输入代码以避免负分。

这正是我在Django文档中寻找的确切内容。

我认为你需要为href添加双引号。

0
0 Comments

在Django模板中使用url标签添加URL参数的方法

在使用Django模板中的url标签时,有时需要向URL中添加参数。以下是解决此问题的原因和方法。

问题出现的原因:

在使用Django的模板语言时,使用url标签来生成URL链接是很常见的。然而,有时候我们需要在URL中添加参数,以便在跳转到目标页面时传递一些额外的信息。然而,最初的代码片段中并没有提供如何添加参数的方法,因此产生了这个问题。

解决方法:

通过在URL标签的末尾添加参数来解决这个问题。具体方法如下:

对于Django 1.5版本及以上:


对于之前的Django版本:


这样,将会在URL中添加参数"office=foobar"。

然而,有一个问题是,如果使用这种方法,在导航栏中会将参数信息"office=foobar"可见。这可能不是我们希望的效果。

另外,这种方法可能会在URL中产生一个额外的斜杠,导致URL的格式类似于"example.com/myview/?office=foobar",而不是"example.com/myview?office=foobar"。

对于这个问题,Sean提出了一个解决方法。他建议如果不想让参数信息在URL中可见,可以使用POST请求或者通过其他渠道传递参数。他指出,在GET请求中,将参数信息添加到URL中是标准的做法。

最后,还有一个关于传递两个参数的问题,但是原始内容中没有提供任何相关的信息,因此无法得知具体是什么问题。

通过在Django模板中的url标签中添加参数,可以在URL中传递额外的信息。根据Django的版本不同,可以使用不同的语法来添加参数。然而,需要注意的是,通过在URL中添加参数可能会导致参数信息在导航栏中可见,并且可能会产生额外的斜杠。如果不希望参数信息可见,可以考虑使用POST请求或其他方式传递参数。

0
0 Comments

问题:如何在Django模板url标签中添加URL参数?

原因:为了在模板中生成带有URL参数的链接,需要在URL的正则表达式中准备好接收参数的部分。

解决方法:首先,在urls.py文件中修改URL的正则表达式,使其能够接收参数。然后,在模板中使用url标签来生成带有参数的链接。

例如,如果只有一个参数,可以按照以下方式修改URL的正则表达式,并在模板中使用url标签来生成链接:

url(r'^panel/person/(?P[0-9]+)$', 'apps.panel.views.person_form', name='panel_person_form'),

{% url 'panel_person_form' person_id=item.id %}

如果有多个参数,可以根据需要修改URL的正则表达式,并在模板中使用url标签来生成链接:

{% url 'panel_person_form' person_id=item.id group_id=3 %}

值得注意的是,这些参数不是查询参数,而是Django中的URL参数。

还有一种解决方法是使用request.GET而不是request.get来获取参数。

另外,如果有需要传递动态数量的关键字参数的情况,可以通过从上下文传递一个字典来实现。例如:

{% url target_link target_kwargs %}

这相当于在函数中传递**kwargs参数的等效方式。这种方法适用于目标链接是可变的情况,而URL中的关键字参数数量是不确定的情况。

需要注意的是,这个解答提到的是Django中的URL参数,而不是查询参数。尽管如此,这个解答提供了一个可行的替代方案。

0