使用 repath 参数的 Django url 调度程序

Posted

技术标签:

【中文标题】使用 repath 参数的 Django url 调度程序【英文标题】:Django url dispatcher using repath arguments 【发布时间】:2020-06-07 17:50:29 【问题描述】:

在我的 django 应用程序中。我有一个包的端点,月份如下:

www.example.com/cart/packagename/months 

www.example.com/cart/stater/3

我认为这不是一个很好的 url 模式,我想要类似的东西:

www.example.com/cart/?package=stater&months=3

还想编码参数'package=stater&months=3'

如果有人对如何使用 django 实现这一点有任何建议,请告诉我。因为在我使用 laravel 之前,它的操作非常简单。

【问题讨论】:

这能回答你的问题吗? How to add url parameters to Django template url tag? 【参考方案1】:

在 Django 中也很简单。这里问号后面的部分称为URL Query String。您可以通过以下方式获取其值:

def cart_view(request):
    packages = request.GET.get('package')
    months = request.GET.get('months')

由于 URL 查询字符串与实际 URL 无关,因此您需要将 url.py 更改为:

path('cart/', cart_view,name='cart_view'),

【讨论】:

我如何将它添加到月份的单选按钮中,例如当 3 个月时选择它会自动刷新并加载 3 个月套餐的价格。 您需要为此编写一些 JS,不幸的是,这不在此问题的范围内。最好问一个新的:)

以上是关于使用 repath 参数的 Django url 调度程序的主要内容,如果未能解决你的问题,请参考以下文章

Django:URL模板标签中的模型参数

在 Django 中使用继承的块变量作为参数创建 URL

Django 1.11 CreateView 传递 URL 参数

在 Django 中将文件路径作为 URL 参数传递

使用表单在 django 模板中传递 url 参数

Django:在 URL 模板标签中保留 GET 参数