Al *_*ndy 55 django django-views
当您想要将用户返回到Django中的同一页面时,有哪些选项以及每个页面的优缺点是什么?
方法我知道:
还有别的吗?
Roh*_*han 106
其中一种方法是使用HTTP_REFERER如下所示的标题:
from django.http import HttpResponseRedirect
def someview(request):
...
return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
Run Code Online (Sandbox Code Playgroud)
不确定这个的缺点!
Huz*_*yed 17
100% 工作示例
对于基于类的视图和函数:
from django.http import HttpResponseRedirect
...
return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
Run Code Online (Sandbox Code Playgroud)
或者
from django.http import HttpResponseRedirect
...
return HttpResponseRedirect(self.request.META.get('HTTP_REFERER'))
Run Code Online (Sandbox Code Playgroud)
例子 -
class TaskNotificationReadAllView(generic.View):
def get(self, request, *args, **kwargs):
TaskNotification.objects.filter(assigned_to=request.user).update(read=True)
print(request.META.get('HTTP_REFERER'))
return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
Run Code Online (Sandbox Code Playgroud)
Dan*_*man 11
虽然问题和答案都很陈旧,但我认为它缺少一些选择.我没有找到任何方法的缺点,我很乐意知道是否有任何?
from django.shortcuts import redirect
redirect(request.path_info) # No query parameters
redirect(request.build_absolute_uri()) # Keeps query parameters
redirect(request.get_full_path()) # Keeps query parameters
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
48348 次 |
| 最近记录: |