如何在django中为新用户分配值



我正在django中编写逻辑,当新创建的用户点击注册按钮时,他们将自动获得免费会员资格,我已经尝试了不同的解决方案来修复这个

views.py

def register(request):
reviews = Review.objects.filter(status='published')
info = Announcements.objects.all()
categories = Category.objects.all()
if request.method == "POST":
form = UserRegisterForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
obj = request.user
get_membership = Membership.objects.get(membership_type='Free')
# error is showing "instance" is not access using visual studio code
instance = UserMembership.objects.create(user=obj, membership=get_membership)
messages.success(request, f'Account Successfully created for {username}! You can Login In Now')
return redirect('userauths:login')
elif request.user.is_authenticated:
return redirect('elements:home')
else:
form = UserRegisterForm()
context = {
'reviews': reviews,
'form': form,
'info': info,
'categories': categories
}
return render(request, 'userauths/register.html', context)

此处的缩进错误:

elif request.user.is_authenticated:
return redirect('elements:home')
else:
form = UserRegisterForm()

你只需要打一次标签。没有两次。

elif request.user.is_authenticated:
return redirect('elements:home') 
else:
form = UserRegisterForm()

最新更新