django - /myapp/beds/ 处的类型错误
问题描述
get() 缺少 1 个必需的位置参数:'mat_number'
我是编程新手,请问如何按照以下详细信息解决上述 TypeError:
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 urls.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'),
]
在 myproject urls.py 中,
from django.contrib import admin
from django.urls import path, include
from myapp import views
urlpatterns = [
path(' ', views.index, name='index'),
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')),
]
请问我该如何排序这个TypeError?...
解决方案
您的代码如下:
def get_user_details(self, username, mat_number):
# ...
(user, userbeds, form) = self.get_user_details(username)
get_user_details
需要使用两个参数调用:username
和mat_number
。您只提供了一个:username
. 因此,要么mat_number
在方法调用中提供,要么更改方法签名。
推荐阅读
- google-apps-script - 如何在 Google AppScript 中设置“保留下一个”段落选项?
- intersystems-iris - %ALL 命名空间未出现在可用命名空间列表中
- python - 使用变压器模型的抽象摘要不适用于 Gunicorn 服务器
- python - 在二维数组中,如何更改/访问对角字符的位置?
- json - 在 Shell 脚本中使用 Jq 比较两个 JSON 文件并从文件中输出不匹配的值
- javascript - 如何在按下 AddNotesScreen.js 文件中的保存图标时保存我的笔记
- c# - 如何在其他方法中搜索 List(T) 中的变量?
- javascript - 表单和其他组件不适用于 swup.js 或 barba.js
- apache-kafka - Grafana 在 Confluent 的 Kafka 概览仪表板中显示垃圾
- typescript - 模块没有导出的成员 - 打字稿