【问题标题】:Django redirects for incomplete urlsDjango 重定向不完整的 url
【发布时间】:2020-02-06 01:29:35
【问题描述】:

我有一个 Django 应用程序,其 url 中有内容:/analyze/plot/123abc(或其他一些字母数字键)。

我想将任何只是 /analyze/plot/ 的内容重定向到使用默认键(例如 /analyze/plot/a1)的预定 url。如果某个 url 尝试了任何错误的键,我也想重定向到这个相同的 url。

这是我的 url 配置的样子:

urlpatterns = [
    path('', views.index, name='index'),
    path('plot/', views.plot_redirect, name='plot_redirect'),
    path('plot/<graph_id>/', views.plot, name='plot'),
]

观看次数:

def plot_redirect(request):
    return redirect('analyze:plot:a1')

def plot(request, graph_id):
    """

    :param request: HTML request object
    :return: The html page
    """

    graph = get_object_or_404(pk=graph_id)

当我当前转到 /analyze/plot 时出现错误。

【问题讨论】:

  • 您可以统一到 1 个接受单个参数 graph_id 的视图,然后测试有效性/在该视图的代码中找到该值的最接近匹配项
  • 把“a1”放到args而不是模式名称stackoverflow.com/questions/3209906/…

标签: python django django-urls


【解决方案1】:

正如 Ivan 在上述评论中提到的,我必须修改我的 plot_redirect 视图以正确传递参数。

def plot_redirect(request):
    return redirect('analyze:plot', graph_id='a1')

【讨论】:

    猜你喜欢
    • 2016-08-21
    • 2022-11-16
    • 1970-01-01
    • 2020-11-24
    • 2017-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多