django - Django:我无法发现的视图中的 TypeError
问题描述
我正在 django 中制作注册表单。我已关注在 Django Web 应用程序中为租户设置子域?示例,但我收到以下错误。
Traceback (most recent call last):
File "/Users/pierre/Desktop/Django-app/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/pierre/Desktop/Django-app/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/Users/pierre/Desktop/Django-app/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
TypeError: __init__() takes 1 positional argument but 2 were given
已经好几个小时了,我看不出它是从哪里来的。我希望一双新鲜(而且更有经验)的眼睛能看到我的错误。
这是我正在使用的文件:models.py
class Client(TenantMixin):
name = models.CharField(max_length=100, default='')
email = models.EmailField(default='')
company = models.CharField(max_length=100, default='')
password = models.CharField(max_length=100, default='')
paid_until = models.DateField()
on_trial = models.BooleanField()
created_on = models.DateField(auto_now_add=True)
#
class Domain(DomainMixin):
pass
表格.py
class NewClientForm(forms.ModelForm):
name = forms.CharField(max_length=100)
email = forms.EmailField(max_length=100)
company = forms.CharField(max_length=100)
password = forms.CharField(widget = forms.PasswordInput)
def clean(self):
email = self.cleaned_data.get('email')
company = self.clean_date.get('company')
email_qs = Client.objects.filter(email=email)
if email_qs.exists():
raise forms.ValidationError(
"this email is already being used"
)
company_qs = Client.objects.filter(company=company)
if company_qs.exists():
raise forms.ValidationError(
'this company name is already identified in our system'
)
return email, company
视图.py
class SignupView(View):
def get(self, request):
form = NewClientForm()
return render(request, "register.html", {'form': form})
def post(self, request,*args, **kwargs):
form = NewClientForm(request.POST or None)
if form.is_valid():
instance = form.save(commit=False)
tenant = Client(domain_url='company' + ".inventory4.com", schema_name='company', name= 'name')
tenant.save()
with schema_context(tenant.schema_name):
instance.save()
redirect = 'http://' + 'company' + '.inventory4.com:8000/login'
return HttpResponseRedirect(redirect)
return render(request, "register.html", {'form' : form})
任何帮助将不胜感激!
解决方案
推荐阅读
- android - 如何解决 android api 30+ 中的“缺少 PendingIntent 可变性标志”lint 警告?
- javascript - 使用多媒体键更改
- kotlin - 转换列表
> 列出 > - sql-server - 将“正常”表作为临时表
- python - 如何在结束进程后阻止 Kubernetes pod 重新启动
- python-3.x - tensorflow/stream_executor/cuda/cuda_driver.cc:328] 调用 cuInit 失败:CUDA_ERROR_UNKNOWN:未知错误
- java - 如何在图中找到以某些初始部分路径开头的所有路径?
- mysql - MVC Express + MySQL 返回类型错误:无法读取未定义的属性“showAll”
- vue.js - 如何在 v-tabs 中处理来自多个 v-forms 的数据?
- python - 有没有办法改进 Pandas 中的多个键列选择