【发布时间】:2022-11-25 12:23:27
【问题描述】:
我试图按照在线 Django 教程创建一个博客应用程序,当我测试注册页面时,我遇到了一个值错误,指出该视图没有返回 HTTP 响应对象。我尝试了一切,但我找不到答案,因为我不是 Django 专家
在用户应用程序的 views.py 文件中是抛出错误的代码
from django.shortcuts import render, redirect
from django.contrib.auth.forms import UserCreationForm
from django.contrib import messages
def register(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
username = form.cleaned_data.get('username')
messages.success(request, f'Account Created for {username}')
return redirect('blog-home')
else:
form = UserCreationForm()
return render(request, 'users/register.html', {'form': form})
这是注册模板
{% extends "myblog/base.html" %}
{% block content %}
<div class="content-section">
<form method="POST">
{% csrf_token %}
<fieldset class="form-group">
<legend class="border-bottom mb-4">
Join Today!
</legend>
{{ form.as_p }}
</fieldset>
<div class="form-group">
<button class="btn btn-outline-info" type="submit">
Sign Up!
</button>
</div>
</form>
<div class="border-top pt-3">
<small class="text-muted">
Already Have an account?
<a href="#" class="ml-2">Sign In!</a>
</small>
</div>
</div>
{% endblock content%}
这是项目的文件结构 File Structure
【问题讨论】:
-
如果我们有一个 POST 请求,并且表单无效,则您不会返回任何内容。
标签: django django-forms