Как зарегистрироваться, используя поле субдомена в django? - PullRequest
0 голосов
/ 01 апреля 2020

Я хочу зарегистрировать данные компании, используя поддомен, чтобы пользователь мог войти в систему, используя поддомен.

Я создал models.forms и виды, но у меня возникла проблема с отображением формы

models. py

class Company(models.Model):
    name = models.CharField(max_length=100)
    address = models.CharField(max_length=2000)
    sub_domain = models.CharField(max_length=30)
    user_limit = models.IntegerField(default=5)
    country = models.CharField(max_length=3, choices=COUNTRIES, blank=True, null=True)

forms.py

class RegistrationForm(forms.ModelForm):
    class Meta:
        model = Company
        fields = ['name', 'address',
                  'sub_domain', 'country']

    def __init__(self, *args, **kwargs):
        self.request_user = kwargs.pop('request_user', None)
        super(RegistrationForm, self).__init__(*args, **kwargs)

views.py

class RegistrationView(AdminRequiredMixin, CreateView):
    model = Company
    form_class = RegistrationForm
    template_name = "company_register.html"

    def is_valid(self, form):
        company = Company.objects.create_company(form.cleaned_data['name'],
                                        form.cleaned_data['address'],
                                        form.cleaned_data['sub_domain'],
                                        form.cleaned_data['country'])
        company.save()
        return super(RegistrationView, self).form_valid(form)

urls

path('register/', RegistrationView.as_view(), name='register'),

company_register. html

{% extends 'base.html' %}
{% block content %}
<h1>Registration</h1>
<form method="POST" class="user-form">
  {{ form.as_p }}
  <button class="btn btn-primary" type="submit">Submit</button>
</form>
{% endblock %}

Где я сделал ошибку, так как я новичок ie Может ли кто-нибудь мне помочь? Спасибо

1 Ответ

0 голосов
/ 01 апреля 2020

Имя шаблона отличается от имени файла шаблона, который вы вставляете

    template_name = "company_register.html"

Оно должно быть

    template_name = "reg.html"

Кроме того, обычно должно быть достаточно следующего, если вы не хотите делать некоторые Пользовательская проверка по вашему мнению.

class RegistrationView(AdminRequiredMixin, CreateView):
    model = Company
    form_class = RegistrationForm
    template_name = "company_register.html"
...