Django:从超链接列表中获取列表项内容

Django: Get list item content from a list of hyperlinks

提问人:FJ123 提问时间:9/15/2021 更新时间:9/15/2021 访问量:301

问:

我被困在锚标签列表上,并将它们的内容 views.py。

背景:我有一个地址的输入表单。如果输入/提交的地址没有根据需要具体,例如因为有两个同名的城市,那么我想显示潜在地址的列表。

因此,我准备了一个带有锚标记的潜在目标地址列表。

HTML 页面

<ul>
<form action="{% url 'analytics' %}" method="GET">
{% for item in list_addresses %}
    <li><a href="{% url 'analytics' %}" name="pot_address" >{{ item.post_code }}</a></li>
{% endfor %}
</form>
</ul>

我的 urls.py

urlpatterns = [
    path('', views.home, name = 'home'),
    path('/analytics', views.analytics, name = 'analytics'),
]

现在我想将地址(html中列表项的内容)传递给我的 views.py 文件。views.py 文件如下所示:

def analytics(request):
    if request.method == 'GET':
        pot_adress = request.GET['pot_address']

在 views.py 有了这个地址后,我想用它来从数据库中获取特定数据。

有人可以帮我解决这个问题吗?

HTML django 参数传递

评论


答:

0赞 willeM_ Van Onsem 9/15/2021 #1

您需要向 URL 添加查询字符串,因此:

<a href="{% url 'analytics' %}?pot_code={{ item.post_code|urlencode }}" name="pot_address" >{{ item.post_code }}</a>

在视图中,可以使用以下命令进行筛选:

def analytics(request):
    if request.method == 'GET':
        pot_adress = request.GET['pot_address']
        SomeModel.objects.filter(post_code=pot_adress)
        # …

评论

0赞 FJ123 9/24/2021
非常感谢。工程