Django - получение данных из URL в представлении реестра - PullRequest
0 голосов
/ 15 декабря 2018

Я пытаюсь получить данные из url / register /? Ref = 123456, но у меня возникли некоторые проблемы с этим.

Регистрация пользователя привязана к одному из моих просмотров:

class UserRegisterView(FormView):
    form_class = UserRegisterForm
    template_name = 'accounts/user_register_form.html'
    success_url = '/accounts/login'
    def form_valid(self, form):
        username = form.cleaned_data.get('username')
        email = form.cleaned_data.get('email')
        password = form.cleaned_data.get('password')
        new_user = User.objects.create(username=username, email=email)
        new_user.set_password(password)
        new_user.save()
        ref = self.request.GET.get('ref', 'None')
        print(ref)
        return super(UserRegisterView, self).form_valid(form)

Я пытаюсь использовать "self.request.GET.get ('ref', 'None')" для получения данных, но каждый раз, когда пользователь регистрирует ref, возвращается "None", а не 123456

Здесьтакое user_register_form.html:

<div class='row'>
    <div class='col-sm-4 offset-sm-4 mt-3'>
        <h1 class='text-center mt-3'>Sign Up</h1>
        <form {% if form_id %} id='{{ form_id }}' {% endif %} class='form mt-3' method='POST' action=''>
            {% csrf_token %}
            {{ form|crispy }}
            <input class='btn btn-primary-new' id="submit" type="submit" value="Sign Up" />
        </form>
    </div>
</div>

1 Ответ

0 голосов
/ 15 декабря 2018

вот мое решение, ребята: я заменил

ref = self.request.GET.get('ref', 'None') 

на

ref = (self.request.GET).dict()
data = ref['ref']

полная реализация:

class UserRegisterView(FormView):
    form_class = UserRegisterForm
    template_name = 'accounts/user_register_form.html'
    success_url = '/accounts/login'
    def form_valid(self, form):
        username = form.cleaned_data.get('username')
        email = form.cleaned_data.get('email')
        password = form.cleaned_data.get('password')
        new_user = User.objects.create(username=username, email=email)
        new_user.set_password(password)
        new_user.save()
        ref = (self.request.GET).dict()
        data = ref['ref']
        print(data)
        return super(UserRegisterView, self).form_valid(form)
...