gpt4 book ai didi

python - Django URL 调度程序示例 - 将 url 从 View 传递到另一个

转载 作者:行者123 更新时间:2023-11-28 23:02:38 25 4
gpt4 key购买 nike

有人有快速的 url 调度程序示例吗?我查看了 Django 文档,但我发现没有一个完整的示例向您展示 View 中的一切是如何工作的。

具体来说,我试图将“url”从一个 View 传递到另一个 View 。例如,我正在尝试制作一个假期网站:如果单击“可用假期” View 中名为“欧洲”的按钮,我想转到 www.example.com/selected/europe,其中显示了所有欧洲假期而如果单击可用假期 View 中名为“澳大利亚”的按钮,我想转到 www.example.com/selected/australia,其中显示类似的澳大利亚假期。

到目前为止,在 url.py 中我有:

(r'^selected/(?P<location>\w+)/$', 'app.views.selected'),

在 views.py 中我有:

def selected(request, location)

我不确定从那里去哪里。此外,如何从“可用假期” View 移动到“选定” View ...

最佳答案

从“可用假期”模板,您应该链接到地点页面。

首先,在您的 url 定义中添加一个“name”参数:

(r'^selected/(?P<location>\w+)/$', 'app.views.selected', name='selected_holidays'),

然后,在“available holidays”模板中,链接如下:

{% url selected_holidays 'Europe' %}

当然,如果在 forloop 中使用位置变量:

{% for location in locations %}
<a href="{% url selected_holidays location %}">{{ location }}</a>
{% endfor %}

如果 location 是一个模型,那么你应该向模型添加一个 get_absolute_url 方法,例如:

from django.core import urlresolvers

class Location(models.Model):
# ... [snip]
def get_absolute_url(self):
return urlresolvers.reverse('selected_holidays', args=(self.location_name,))

然后在模板中:

{% for location in locations %}
<a href="{{ location.get_absolute_url }}">{{ location }}</a>
{% endfor %}

在这种情况下,如果有意义,将 url 的名称从“selected_holidays”更改为“location_detail”——这在 Django 中是一个标准。

如果你想向前兼容,加载 future 的 url 标签:

{% load url from future %}

然后,使用带引号的命名 url 字符串:

{% url 'selected_holidays' 'Europe' %}

嗯,我想你在这里有一些开胃菜。您还应该仔细阅读 Django urls 手册,以了解万一出现问题 :) https://docs.djangoproject.com/en/dev/topics/http/urls/

关于python - Django URL 调度程序示例 - 将 url 从 View 传递到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9689515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com