【问题标题】:How to redirect to an explicitly named url in Django?如何重定向到 Django 中明确命名的 url?
【发布时间】:2020-06-16 06:49:08
【问题描述】:

我正在尝试根据我的views.py中的变量重定向到特定页面:

redirect(f'feed/user/{first_user}')

但是通过这样的设置,它会将我重定向到 url:

feed/search/feed/user/first_user

我想重定向到 url

feed/user/first_user

我知道 feed/search/ 部分已附加,因为我的 urls.py 中的 search url 调用了应该重定向的函数,但我想保持这种方式并且只更改重定向。

URLS.PY:

urlpatterns = [
    path('', login_required(PostListView.as_view()), name='feed-home'),
    path('user/<str:username>/', login_required(UserPostListView.as_view()), name='user-feed'),
    path('post/<int:pk>/', login_required(views.post_detail), name='post-detail'),
    path('comment_delete/', login_required(views.comment_delete), name='comment-delete'),
    path('post/new/', login_required(PostCreateView.as_view()), name='post-create'),
    path('post/<int:pk>/update', login_required(PostUpdateView.as_view()), name='post-update'),
    path('post/<int:pk>/delete', login_required(PostDeleteView.as_view()), name='post-delete'),
    path('about/', views.about, name='feed-about'),
    path('like/', login_required(views.post_like), name="post-likes"),
    path('comment_create/', login_required(views.comment_create), name="comment-create"),
    path('search/', login_required(views.user_search), name="user-search"),
]

【问题讨论】:

  • 可以用reverse生成网址吗?您可以分享定义您重定向到的路径的 urls.py 吗?
  • @KuldeepSinghSidhu 这给了我 EOL 语法错误^^,是的,我共享 urls.py
  • 我认为有一个语法错误:TRY THIS (f'feed/user/{first_user.split("/")[-1]}')

标签: python django redirect


【解决方案1】:

您可以将视图名称及其参数传递给redirect。看起来你想要user-feed 视图?

redirect('user-feed', username=first_user)

【讨论】:

    【解决方案2】:

    【讨论】:

    • 是的,它成功了!谢谢你。我添加了以下内容:return redirect(reverse('user-feed', kwargs={'username' : first_user}))
    【解决方案3】:

    您可以使用以下代码进行重定向

    return redirect('/accounts/twitter')
    

    '/accounts/twitter' 是您要移动的网址。我们在 urls.py 文件中创建这些 url

    您也可以使用以下代码在特定网站上移动

    def my_view(request):
        ...
        return redirect('https://example.com/')
    

    【讨论】:

      猜你喜欢
      • 2015-03-09
      • 1970-01-01
      • 2013-03-20
      • 2020-09-18
      • 2017-09-08
      • 2020-12-26
      • 2014-10-02
      • 2014-01-19
      • 2016-06-24
      相关资源
      最近更新 更多