注册页面无法注册用户

时间:2019-12-05 08:14:51

标签: python django django-views

我有Django的设置注册页面。在IE,注册页面上输入注册的URL可以,但是我喜欢页面上的“ register”按钮,没有注册表格显示。 enter image description here

users \ urls.py

urlpatterns = [
# register page
re_path('^register/$', views.register, name='register'),    
]

users \ views.py

def register(request):
    """register new user"""
    if request.method != 'POST':
        # display blank register form
        form = UserCreationForm()
    else:
        # deal filled form
        form = UserCreationForm(data=request.POST)

        if form.is_valid():
            new_user = form.save()
            # auto login, and redirect to home page
            authenticated_user =authenticate(username=new_user.username,password=request.POST['password1'])
            login(request, authenticated_user)
            return HttpResponseRedirect(reverse('learning_logs:index'))

    context = {'form': form}
    return render(request, 'users/register.html', context)

register.html

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

{% block content %}

  <form method="post" action="{% url 'users:register' %}">
    {% csrf_token %}
    {{ form.as_P }}

    <button name="submit">register</button>
    <input type="hidden" name="next" value="{% url 'learning_logs:index' %}" />
  </form>

{% endblock content %}

2 个答案:

答案 0 :(得分:1)

这是三种呈现表单的方法。

  • {{form.as_table}}会将其呈现为包裹在标签中的表格单元格
  • {{form.as_p}}会将它们包裹在

    标记

  • {{form.as_ul}}会将它们包裹在li中

您也可以使用HTML手动呈现表单,但字段名称应与注册表单相同。

答案 1 :(得分:0)

p应该小写


    {{ form.as_p }}