【问题标题】:Django get() missing 1 required positional argument: 'header'Django get() 缺少 1 个必需的位置参数:'header'
【发布时间】:2019-12-05 19:19:43
【问题描述】:

每次我发出成功的发布请求时,我都会收到此消息。我知道这与实现重定向功能有关,因此您不会收到双重帖子,但我无法使其正常工作。这是我的代码。感谢您的帮助。

@login_required
def K8_Points_Test(request):
    if request.method == 'POST':
        form = K8PointsTestForm(request.POST)
        if form.is_valid():
            form.save(commit=False)
            class_name = form.cleaned_data.get('class_name')
            getstudents = Student.objects.filter(class_name = class_name)
            students = getstudents.all()
            context = {'form': form ,'students' : students , 'class_name': class_name}
            return render(request, 'points/k8_points_test.html', {'form': form} )  
        else:
            return HttpResponseBadRequest    
    else:
        form = K8PointsTestForm()
        return render(request, 'points/k8_points_test.html', {'form': form} )  

追溯

Environment:


Request Method: POST
Request URL: http://127.0.0.1:8000/points/k8_points_test

Django Version: 2.2.6
Python Version: 3.7.3
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'forms.apps.FormsConfig',
 'crispy_forms',
 'users.apps.UsersConfig',
 'points.apps.PointsConfig']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback:

File "C:\Users\rzuchowski\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\handlers\exception.py" in inner
  34.             response = get_response(request)

File "C:\Users\rzuchowski\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\utils\deprecation.py" in __call__
  96.             response = self.process_response(request, response)

File "C:\Users\rzuchowski\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\middleware\clickjacking.py" in process_response
  26.         if response.get('X-Frame-Options') is not None:

Exception Type: TypeError at /points/k8_points_test
Exception Value: get() missing 1 required positional argument: 'header'

【问题讨论】:

  • 你能包含完整的堆栈跟踪吗?我不知道问题出在重定向还是 K8PointsTestForm。
  • 是的,现在发布

标签: django django-views


【解决方案1】:

这一行:

return HttpResponseBadRequest  

导致错误。您需要返回响应类的实例,而您正在返回类本身。

这应该可以解决它:

return HttpResponseBadRequest()

# OR you can also pass a custom message
return HttpResponseBadRequest("Bad Request")

【讨论】:

    猜你喜欢
    • 2018-02-04
    • 1970-01-01
    • 2015-04-06
    • 2021-12-21
    • 2018-06-20
    • 2017-10-20
    • 1970-01-01
    • 2018-01-24
    • 2019-05-27
    相关资源
    最近更新 更多