因此,我正在关注code4startup教程,该教程介绍如何创建类似于Ubereats的应用程序。现在,我正在尝试向数据库注册一个新的餐馆和餐馆老板。我正在使用Django的表单来处理所有数据字段。
一切正常,直到我点击“注册”按钮。我的代码是应设置为并将表单中的所有数据发布到数据库中,然后自动登录新创建的餐馆老板进入餐馆页面。但是,当我按下注册按钮时,什么也没有发生,而是重新加载了注册页面。
我该如何解决这个问题?我遵循的教程来自2017年,我认为作者使用的Django版本太旧了。
下面是我的代码片段:
注册HTML(仅按钮,可以正常工作):
<form method="POST" enctype="multipart/form-data" >
{% csrf_token %}
{{ user_form }}
{{ restaurant_form }}
<button type="submit">Sign Up</button>
VIEWS.py
def restaurant_home(request):
return render(request, 'restaurant/home.html', {})
def restaurant_sign_up(request):
user_form = UserForm()
restaurant_form = RestaurantForm()
#when submitting data:
if request == "POST":
user_form = UserForm(request.POST)
restaurant_form = RestaurantForm(request.POST, request.FILES)
if user_form.is_valid() and restaurant_form.is_valid():
new_user = User.objects.create_user(**user_form.cleaned_data)
new_restaurant = restaurant_form.save(commit=False)
new_restaurant.user = new_user
new_restaurant.save()
login(request, authenticate(
username = user.form.cleaned_data["username"],
password = user.form.cleaned_data["password"]
))
return redirect(restaurant_home)
return render(request, 'restaurant/sign_up.html', {
"user_form": user_form,
"restaurant_form": restaurant_form
})
答案 0 :(得分:1)
答案 1 :(得分:0)
在表单标签中添加动作属性以定向到所需页面
<form action=“/home“ method=“POST” ...>