You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django视图中以UUID为URL slug正确跳转至新模板

问题原因

你在URL路由中配置了<uuid:poller_id>路径参数,Django会自动将匹配到的uuid值以poller_id为关键字参数传递给绑定的视图函数,但你当前的single_poller视图仅接收request一个入参,参数不匹配就触发了该报错。

解决步骤
  1. 首先修改视图函数的参数列表,新增poller_id参数接收路由传递的值。如果你需要在模板中展示对应Poller条目内容,还可以补充查询逻辑将数据传递到模板:
# 先导入你的Pollers模型和快捷方法
from .models import Pollers
from django.shortcuts import get_object_or_404

def single_poller(request, poller_id):
    # 查询对应poller对象,不存在时自动返回404
    poller = get_object_or_404(Pollers, poller_id=poller_id)
    # 将对象传递给模板,即可在single_poller.html里用{{ poller.xxx }}渲染对应内容
    return render(request, 'pollboard/single_poller.html', {'poller': poller})
  1. (可选优化)调整路由路径末尾加斜杠,符合Django默认路径规范,避免不必要的重定向:
path('poller/<uuid:poller_id>/', single_poller, name='single_poller'),
  1. (可选优化)模板中的跳转链接不要硬写路径,改用Django内置的url模板标签,后续修改路由路径时无需同步修改模板代码:
<a class="hidden_poller_id" href="{% url 'single_poller' poller_id=poller.poller_id %}">

内容的提问来源于stack exchange,提问作者JSRB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 10:39:05