python - 登录后重定向用户而不使用 LOGIN_REDIRECT_URL 但来自views.py
问题描述
我有一个 django 应用程序,我在 settings.py 中使用 auth_views.LoginView 作为我的登录页面。我希望用户在登录时重定向到自定义 url,而无需更改 settings.py 和 views.py。这就是我的代码的工作方式:
def reserve_seat(request, movie_id, seat_id):
if request.user.is_authenticated:
print(request.user)
new_ticket = Ticket(
movie=Movie.objects.get(id=movie_id),
user=request.user,
seat=Seat.objects.get(id=seat_id)
)
new_ticket.save()
return redirect('list_seats', movie_id)
else:
return redirect('/login')
我希望用户在登录时自动重定向path('<int:movie_id>/seats', list_seats, name='list_seats'),
到此路径
我该如何处理?
解决方案
谢谢,我发现我必须使用此代码并解决了我的问题。
@login_required(login_url='/login')
def reserve_seat(request, movie_id, seat_id):
if request.user.is_authenticated:
print(request.user)
new_ticket = Ticket(
movie=Movie.objects.get(id=movie_id),
user=request.user,
seat=Seat.objects.get(id=seat_id)
)
new_ticket.save()
return redirect('list_seats', movie_id)
推荐阅读
- python-3.x - nginx + gunicorn + flask - EC2 上的 502 和 404 错误
- java - 从 API 导入时出现错误 JSONDecodeError: Expecting ',' delimiter
- python - AttributeError: 'QuerySet' 对象在使用 count 和 sum 时没有属性 'objects'
- java - 如何对使用尚未实现为方法参数的接口的类执行 JUnit 测试?
- php - 如何从子目录中删除所有 .gif 图像
- c - 普通 C:为什么这个 scanf 代码不起作用?
- android - 用于跟踪的 Firebase 动态链接:应用安装、首次打开、在应用内部重新打开并使用客户事件
- python - 如何为另一个包打包类型存根?
- javascript - 无法使用已通过浏览器扩展附加到 DOM 的 Cypress.io 选择元素
- javascript - 循环元素javascript