Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django /myapp/beds处的类型错误/_Django_Python 3.x - Fatal编程技术网

Django /myapp/beds处的类型错误/

Django /myapp/beds处的类型错误/,django,python-3.x,Django,Python 3.x,获取缺少1个必需的位置参数:“mat_number” 我是编程新手,请按照以下详细信息解决上述类型错误: class BedsView(View): def get_user_details(self, username, mat_number): try: user = User.objects.get(username=username) except User.DoesNotExist: return

获取缺少1个必需的位置参数:“mat_number”

我是编程新手,请按照以下详细信息解决上述类型错误:

class BedsView(View):
    def get_user_details(self, username, mat_number):
        try:
            user = User.objects.get(username=username)
        except User.DoesNotExist:
            return redirect('index') 
        userbeds = Userbed.objects.filter(user=user, mat_number=mat_number).order_by(-posted_date)[0]
        form = UserBedsForm({'mat_number':userbeds.mat_number})
        return (user, userbeds,form)

    @method_decorator(login_required)
    def get(self, request, username, mat_number):
        (user,userbeds,form) = self.get_user_details(username, mat_number)
        return render(request, 'myapp/beds.html', {'userbeds':userbeds, 'selecteduser':user, 'form':form})

    @method_decorator(login_required)
    def post(self, request, username):
        (user, userbeds, form) = self.get_user_details(username, mat_number)
        form = UserBedsForm(request.POST, instance=userbeds)
        if form.is_valid():
            form.save(commit=True)
            return redirect('beds', user. username)
        else:
            print(form.errors)
        return render(request, 'myapp/beds.html', {'userbeds':userbeds, 'selecteduser':user, 'form':form})
在myapp url.py上

   from django.urls import path
   from myapp import views 
   from myapp.views import BedsView 

   app_name = 'myapp'

   urlpatterns = [
          path('beds/<username>/', BedsView.as_view(), name='beds'), 
   ]
请问我该如何对这个打字错误进行排序

您的代码如下所示:

def get_user_details(self, username, mat_number):
# ...
(user, userbeds, form) = self.get_user_details(username)

需要使用两个参数调用get_user_details:username和mat_number。您只提供了一个:用户名。因此,请在方法调用中提供mat_编号或更改方法签名。

请提供任何进一步的帮助。然后,请更新问题中的代码,包括get_user_details和post the stack trace=完整错误输出。请确保您发布的代码缩进的方式与Python中使用缩进的方式完全相同。缩进的方式在Python中非常重要。TypeError at/myapp/beds/ken/get missing 1必需的位置参数:“mat_number”在您的post方法中,您仍然有self.get_user_detailsusername,而没有mat_number。
def get_user_details(self, username, mat_number):
# ...
(user, userbeds, form) = self.get_user_details(username)