Как перенаправить на явно названный URL-адрес в Django? - PullRequest
1 голос
/ 16 июня 2020

Я пытаюсь выполнить перенаправление на указанную c базу страницы на переменной в моих представлениях. Py:

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

Но, сделав это так, он перенаправляет меня на URL-адрес:

feed/search/feed/user/first_user

вместо этого я хотел бы перенаправить на URL

feed/user/first_user

Я знаю, что часть feed/search/ добавляется, потому что URL search в моем urls.py вызывает функцию который должен перенаправлять, но я хотел бы сохранить его таким образом и изменить только перенаправление.

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"),
]

Ответы [ 3 ]

1 голос
/ 16 июня 2020

Вы можете передать имя представления и его аргументы в redirect. Похоже, вам нужен вид user-feed?

redirect('user-feed', username=first_user)
1 голос
/ 16 июня 2020
0 голосов
/ 16 июня 2020

Вы можете использовать приведенный ниже код для перенаправления.

return redirect('/accounts/twitter')

'/accounts/twitter' - это ваш URL-адрес, по которому вы хотите перейти. мы создаем эти URL-адреса в файле urls.py

, вы также можете использовать приведенный ниже код для перехода на определенный сайт

def my_view(request):
    ...
    return redirect('https://example.com/')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...