У меня есть страница регистрации, входа в систему и панели инструментов, форма регистрации состоит из имени пользователя, адреса электронной почты, пароля, цели, дизайна, мебели, комнаты, поэтому в них имя пользователя, электронная почта будут сохранены в пользовательской модели пользователя и оставшихся деталях. будет храниться в таблице user_requirement, а страница входа состоит из имени пользователя и пароля, которые будут аутентифицированы и теперь попадут на страницу панели инструментов. На странице панели инструментов я пытаюсь отобразить цель, дизайн, мебель, детали комнаты, которые конкретный пользователь дал во время регистрация My views.py:
from django.shortcuts import render, redirect
from django.contrib import messages, auth
from django.contrib.auth.models import User
from contacts.models import Contact
from django.shortcuts import render,HttpResponseRedirect
from django.contrib import messages,auth
from account.forms import UserForm
from account.forms import UserRequirementForm
from django.contrib.auth import authenticate, login
def register(request):
return render(request, 'account/register.html',);
def user_register(request):
if request.method == 'POST': # if there is a post request in the form
user_form = UserForm(data=request.POST) #first of all it is a user_form will be posted details present in the user_form
user_requirement_form = UserRequirementForm(data=request.POST)# after posting the details of the user_form post the details
if user_form.is_valid() and user_requirement_form.is_valid():
# if user_form & user_requirement form is valid
User = user_form.save()#if form is valid save
User.set_password(request.POST['password'])
User.save()
user_requirement = user_requirement_form.save(commit=False)
# Set user
user_requirement.user = User
user_requirement.save()
user_requirement_form.save_m2m()
messages.success(request,('Project saved successfully'))
return render(request,'account/home1.html')
else:
messages.warning(request, 'Please correct the errors above')
else:
user_form = UserForm()
user_requirement_form = UserRequirementForm()
return render(request,'account/register.html', {'user_form': user_form, 'requirements_form': user_requirement_form})
def login(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = auth.authenticate(username=username, password=password)
if user is not None:
if user.is_active:
auth.login(request, user)
messages.success(request, 'You are now logged in')
return redirect('dashboard')
else:
messages.error(request,'Invalid')
return redirect('login')
else:
return render(request, 'account/login.html')
def dashboard(request):
return render(request, 'account/dashboard.html',);
панель инструментов. html:
<details>
<summary class="summary ml-4">User Details</summary>
<p class="p1 ml-4">The contents that are selected by the user</p>
<p class="p2 ml-4">All content and graphics on this web site are the property of the company Refsnes Data.</p>
</details>
<p class="p3 ml-4 mt-4"><b>Room:<br></b>{{user.room}}</p>
<p class="p4 ml-4"><b>GOAL:</b><br>{{user.goal}}</p>
<p class="p5 ml-4"><b>FURNITURE:</b><br>{{user.furniture}}</p>
<p class="p6 ml-4"><b>DESIGN:</b><br>{{user.design}}</p>
My models.py:
class User_Requirement(models.Model):
user=models.OneToOneField(User,on_delete=models.CASCADE)
room = models.ForeignKey(room,on_delete=models.CASCADE)
goal = models.ManyToManyField(goal)
design = models.ManyToManyField(design)
furniture = models.ForeignKey(furniture,on_delete=models.CASCADE)
created_at = models.DateTimeField(default=datetime.now)
updated_at = models.DateTimeField(default=datetime.now)