在django中,它只是一个整页/网址只有一个视图的唯一方法。并且该页面包含的任何功能(上传/发布/更新/登录)只需要在该视图内传递。我发现这是唯一的方法,因为我只能用一个视图返回一个网址。
我想知道是否有任何方法可以为每个函数创建不同的视图(可以是基础或正常分类),最后在一个视图上添加所有这些视图(该视图也返回该URL)。如果可能比怎么样?因为在一个视图中拥有url的所有功能对我来说看起来很奇怪和混乱。
##################
def logInRegisterUser(request):
###################login##################
loginForm = UserLoginForm(request.POST or None)
if loginForm.is_valid() and 'log-in' in request.POST:
username = loginForm.cleaned_data.get("username")
password = loginForm.cleaned_data.get("password")
user = authenticate(username = username, password = password)
# if not user or not user.check_password(password):
# raise validation error
login(request, user)
print(request.user.is_authenticated())
###################registration###################
registrationForm = RegistrationForm(request.POST or None)
if registrationForm.is_valid() and 'sign-up' in request.POST:
user2 = registrationForm.save(commit = False)
password2 = registrationForm.cleaned_data.get('password')
user2.set_password(password2)
user2.save()
new_user = authenticate(username = user2.username, password = password2)
login(request, new_user)
###################log-out###################
###################search-post###################
####################voting-post##################
context = {
"loginForm":loginForm,
"registrationForm":registrationForm,
"re":request.POST
}
###################return###################
return render(request,"enter.html",context)