gpt4 book ai didi

python - 尝试在 django 中执行表单时,int() 参数必须是字符串

转载 作者:行者123 更新时间:2023-11-30 21:56:12 26 4
gpt4 key购买 nike

我有一个问题。我正在尝试使用 django 来编辑表单。但是当我转到网址进行编辑时,例如:/adminview/edit/1/

我收到消息:

TypeError at /adminview/edit/1/
int() argument must be a string, a bytes-like object or a number, not
'builtin_function_or_method'
Request Method: GET
Request URL: http://127.0.0.1:8000/adminview/edit/1/
Django Version: 2.1.5
Exception Type: TypeError

这是我的 urls.py:

app_name = 'adminview'

urlpatterns = [
url(r'^$', index_admin, name="adminview"),
url(r'^clasification', clasification, name="clasification"),
url(r'^edit/(?P<id_category>\d+)/$', edit_clasificacion, name="edit_clasificacion"),
]

这是我的views.py 的一部分,其中我有我正在尝试构建的函数:

 def edit_clasificacion(request, id_category):
clasificacion = Clasificacion.objects.get(id=id)
if request.method == 'GET':
form = ClasificacionForm(instance=clasificacion)
else:
form = ClasificacionForm(request.POST, instance=clasificacion)
if form.is_valid():
form.save()
return redirect('article:index')
return render(request, 'adminview/clasification.html', {'form':form})

这是我的 forms.py:

类 ClasificacionForm(forms.ModelForm):

class Meta:
model = Clasificacion

fields = [
'nombre_clasificacion',
]
labels = {
'nombre_clasificacion': 'Nombre de categoría',
}
widgets = {
'nombre_clasificacion': forms.TextInput(attrs={'class':'form-control'})
}

有什么帮助吗?非常感谢!

最佳答案

您的问题是您正在使用Clasificacion.objects.get(id=id),但id从未定义(并且是保留关键字/函数)。

要修复您的代码,请使用您在 View 签名中定义的 id_category 参数:

def edit_clasificacion(request, id_category):
clasificacion = Clasificacion.objects.get(id=id_category)
....

关于python - 尝试在 django 中执行表单时,int() 参数必须是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55544040/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com