Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django自定义表单注册类型错误位于/accounts/register register()缺少1个必需的位置参数:';用户名';_Django_Forms_Django Forms - Fatal编程技术网

Django自定义表单注册类型错误位于/accounts/register register()缺少1个必需的位置参数:';用户名';

Django自定义表单注册类型错误位于/accounts/register register()缺少1个必需的位置参数:';用户名';,django,forms,django-forms,Django,Forms,Django Forms,在/账户/登记处配置不当 无法创建保存电子邮件的目录:/home/user/Desktop/emails([Errno 13]权限被拒绝:'/home/user') 它指向views.register in account中的这一行“user.email\u user(subject,message,html\u message=message)” auth.html <form id='registration-form' method='post' action={% url 'acc

在/账户/登记处配置不当

无法创建保存电子邮件的目录:/home/user/Desktop/emails([Errno 13]权限被拒绝:'/home/user')

它指向views.register in account中的这一行“user.email\u user(subject,message,html\u message=message)”

auth.html

<form id='registration-form' method='post' action={% url 'accounts:register' %}>
                    {% csrf_token %}
                    <div class="form-group">
                      <input type="text" class="form-control input-upper" id="fullname" placeholder="John Doe" name="fullname" required><br>
                      <input type="text" class="form-control input-upper" id="username" placeholder="Username" name="username"><br>
                      <input type="email" class="form-control input-upper" id="email" placeholder="Email" name="email" required><br>
                      <input type="text" class="form-control input-upper" id="organization" placeholder="Organization" name="organization" required><br>
                      <input type="password" class="form-control input-upper" id="password" placeholder="Password" name="password1" required><br>
                      <input type="password" class="form-control input-upper" id="password" placeholder="Confirm Password" name="password2" required><br>
                      <small>By registering you agree to our <a href="{% url 'tos' %}">terms and conditions</a></small>
                      <button type="submit" value='register' id='reg-submit-btn' class="btn btn-primary btn-block btn-signup-form">SIGN UP</button>
                      <button type="button" class="btn btn-primary btn-block btn-sign-linkedin" href="{% url 'social:begin' 'linkedin-oauth2' %}?next={{ next }}">Sign up with LinkedIn</button>
                      <p class="text-already">Already have an account? <a href="" >LOGIN</a></p>
                    </div>
                </form>
Views.py

@transaction.atomic
def register(request):
    """Process registration of new users"""
    if request.user.is_authenticated:
        return JsonResponse({'status': 'loggedin'})
    status = dict()
    status['status'] = 'failure'
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            # Save Profile details
            user = form.save()
            current_site = get_current_site(request)
            subject = 'DHIS2 Account Activation'
            message = render_to_string(
                'registration/account_activation_email.html',
                {
                    'user': user,
                    'domain': current_site.domain,
                    'uid': urlsafe_base64_encode(
                        force_bytes(
                            user.pk)).decode(),
                    'token': account_activation_token.make_token(user),
                },
                request=request)
            user.email_user(subject, message, html_message=message)
            Referral.record_response(request, "REGISTERED")
            #return JsonResponse({'status': 'success'})
            return redirect('accounts:account_activation_sent')
        status = form.errors
        status['status'] = 'failure'
    return JsonResponse(status)
我得到一个状态为:Failure的json响应,密码1:“此字段是必需的。”密码2:“此字段是必需的。
我可能做错了什么?可能模板没有保存或其他什么。我如何使用html模板制作自定义django表单。

您的模板中没有名为
password1
password2
的字段;您只有两个名为
password
的字段。您需要给它们正确的e> 名称attributes.

我将html字段更改为password1,另一个更改为password2,但我仍然收到相同的错误。您从何处收到该错误?显示完整的回溯。并显示您的URL。抱歉,我仍然收到password1和password2:在将auth.html密码id更改为password1和password2之后,此字段是必需的。是吗我应该这样做吗?我是Django的新手,您需要更改
名称
属性,而不是
id
。我这样做了,但现在我收到一个json响应,上面显示状态:失败
@transaction.atomic
def register(request):
    """Process registration of new users"""
    if request.user.is_authenticated:
        return JsonResponse({'status': 'loggedin'})
    status = dict()
    status['status'] = 'failure'
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            # Save Profile details
            user = form.save()
            current_site = get_current_site(request)
            subject = 'DHIS2 Account Activation'
            message = render_to_string(
                'registration/account_activation_email.html',
                {
                    'user': user,
                    'domain': current_site.domain,
                    'uid': urlsafe_base64_encode(
                        force_bytes(
                            user.pk)).decode(),
                    'token': account_activation_token.make_token(user),
                },
                request=request)
            user.email_user(subject, message, html_message=message)
            Referral.record_response(request, "REGISTERED")
            #return JsonResponse({'status': 'success'})
            return redirect('accounts:account_activation_sent')
        status = form.errors
        status['status'] = 'failure'
    return JsonResponse(status)