Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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
Python django中的用户注册表窗体未获取注册表_Python_Django - Fatal编程技术网

Python django中的用户注册表窗体未获取注册表

Python django中的用户注册表窗体未获取注册表,python,django,Python,Django,我正在尝试注册django网站的用户,但没有注册 我正在发布代码,请帮助我 这是获取输入的views.py的代码 from django.shortcuts import render , redirect # Create your views here. from django.contrib.auth import login from django.contrib.auth.forms import UserCreationForm from .models import User_M

我正在尝试注册django网站的用户,但没有注册 我正在发布代码,请帮助我

这是获取输入的views.py的代码

from django.shortcuts import render , redirect

# Create your views here.
from django.contrib.auth import login
from django.contrib.auth.forms import UserCreationForm
from .models import User_Main

def become_user(request):
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            user = form.save()
            login(request , user)
            user_main = User_Main.objects.create(name = user.username, created_by=user)
            return redirect('home')

    else:
        form = UserCreationForm()


    return render(request, 'user_of_ecommerce/become_user.html' ,{'form':form})
URL.py的代码

from django.urls import path

from . import views

urlpatterns = [ 
    path('become-user/' , views.become_user , name="become_user")
]
这是表格的代码

    {% extends "core_of_ecommerce/base.html" %}

{% block content %}

    <form action="." method="post" >
        {% csrf_token %}
        {{form.as_p}}
        <div>
            <button>sbmot</button>
        </div>
    </form>

{% endblock content %}
models.py

from django.db import models

# Create your models here.
from django.contrib.auth.models import User

class User_Main(models.Model):
    name = models.CharField(max_length = 150)
    created_at = models.DateTimeField( auto_now_add=True)
    created_by = models.OneToOneField(User, on_delete=models.CASCADE , related_name='user_name')

    class Meta:
        ordering = ['name']
    
    def __str__(self):
        return self.name
当我在输入所有详细信息后单击按钮时,它会刷新到同一页面,希望您能帮助我
我甚至在“管理”面板中检查了“它没有注册”

您的模板导致了这种情况,因为您没有正确提交,请点击“提交”按钮

<form action="{% url 'login' %}" method="post">
 {% csrf_token %}
    {{form.as_p}}
    <div>
         <input type="submit" value="Register">
    </div>
</form>
并验证用户是否已正确保存(在您的管理页面中),然后我们会担心登录

保存工作完成后,按如下方式修改视图:

    from django.contrib.auth import authenticate, login


    def become_user(request):
        if request.method == 'POST':
            form = UserCreationForm(data=request.POST)
            if form.is_valid():
                user = form.save()
                cd = form.cleaned_data
                user = authenticate(username=cd['username'], password=cd['password1'])    #new line
                login(request, user, backend='django.contrib.auth.backends.ModelBackend') #new line
                return redirect('home')

        else:
            form = UserCreationForm()

        return render(request, 'user_of_ecommerce/become_user.html' ,{'form':form})

如果您有更多信息,请在下面发表评论。Form action=“.”?先生,我使用它保持在同一页面上。如果我必须更改或删除它,我只是在学习django,请帮助尝试删除该信息。先生现在甚至不工作,但先生用户甚至没有注册,那么我如何使用itok登录,试试我的更新答案你导入重定向了吗?从django.shortcuts导入重定向,是的,先生,我导入了itsir,我可以给你发送带有驱动器链接的代码的rar文件吗?最后我使用了这个,这个正在工作
    def become_user(request):
        if request.method == 'POST':
            form = UserCreationForm(data=request.POST)
            if form.is_valid():
                user = form.save()
                return redirect('home')

        else:
            form = UserCreationForm()

        return render(request, 'user_of_ecommerce/become_user.html' ,{'form':form})
    from django.contrib.auth import authenticate, login


    def become_user(request):
        if request.method == 'POST':
            form = UserCreationForm(data=request.POST)
            if form.is_valid():
                user = form.save()
                cd = form.cleaned_data
                user = authenticate(username=cd['username'], password=cd['password1'])    #new line
                login(request, user, backend='django.contrib.auth.backends.ModelBackend') #new line
                return redirect('home')

        else:
            form = UserCreationForm()

        return render(request, 'user_of_ecommerce/become_user.html' ,{'form':form})
def become_user(request):
    if request.method == 'POST':
        form = UserCreationForm(data=request.POST)
        if form.is_valid():
            user = form.save()
            login(request , user)
            user_main = User_Main.objects.create(name = user.username, created_by=user)
            return redirect('home')
    else:
        form = UserCreationForm()
    return render(request, 'user_of_ecommerce/become_user.html' ,{'form':form})