首页 > 解决方案 > django-select2-forms 在 admin 中有效,但在模板中无效。抛出 Django TypeError

问题描述

运行服务器会引发 Django TypeError: render() got an unexpected keyword argument 'renderer'

我的表格.py

class UserUpdateForm(forms.ModelForm):
    class Meta:
        model = User
        fields = ['username', 'first_name', 'last_name']
class ProfileUpdateForm(forms.ModelForm):
    class Meta:
        model = Counsellee
        fields = ['twitter_handle', 'categories', 'image', 'dob', 'gender', 'address', 'phone_number', 'bio', 'interests', 'active']
        widgets = {
        'dob': forms.TextInput(attrs={'type': 'date'}),
        'bio': forms.Textarea(attrs={'rows':3}),
        'interests': forms.Textarea(attrs={'rows':3}),
    }

我的意见.py

@login_required
def profile_update(request):
    if request.method == "POST":
        u_form = UserUpdateForm(request.POST, instance = request.user)
        p_form = ProfileUpdateForm(request.POST, request.FILES, instance = request.user.counsellee)
        if u_form.is_valid() and p_form.is_valid():
            u_form.save()
            p_form.save()
            messages.success(request, f'Your profile details have been updated successfully!')
            return redirect('counsellee-home')
    else:
        u_form = UserUpdateForm(instance = request.user)
        p_form = ProfileUpdateForm(instance = request.user.counsellee)

context = {'u_form': u_form, 'p_form': p_form}
return render(request, 'counsellees/profile.html', context)

我的模型.py

class Counsellee(Profile):
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name = 'counsellee', null=True)
    categories = select2.fields.ManyToManyField(Category)
    interests = models.TextField(null=True, blank = True)
    twitter_handle = models.CharField(max_length=120, null=True) 
    active = models.BooleanField(default=True, null=True)

该小部件在管理面板中工作得很好,但在实际站点上却不行。我遵循了我在这里找到的自述文件,但根本没有工作

标签: pythondjango

解决方案


尝试将此添加到 render() 函数

attrs=无,渲染器=无


推荐阅读