Проблема с запросом django, получение пользователя из bd

SO, я хочу получить данные пользователя из базы данных и показать их в файле user.html, но не могу этого сделать. Они не отображаются в этом файле. Я пытался сделать класс UserView(ListView):, но ничего не получилось. Возможно, я не понял запрос.

view.py

def registerform(request): ##registerform 
    form = SightUp(request.POST or None)
    if form.is_valid():
        user_obj = form.save()#Сохранение значений в датабазе методом .save()
        username = form.cleaned_data.get('username')
        raw_password = form.cleaned_data.get('password1')
        email = form.cleaned_data.get('email')
        user = authenticate(username=username,password =raw_password,email=email)
        login(request,user)
        return redirect('/userprofile/')# ЗАМЕНИТЬ
    context =  {'form':form }

    return render(request,'user.html',context)


#def userprofiles(request):
#  userall = detailsuser.objects.all()
#  context = {
#      'objects':userall
#  }
# return render(request,'userprofile.html', context)
class UserView(ListView):
    model = User
    template_name = 'userprofile.html'
    context = 'detailsuser'
    def get_queryset(self):
        return detailsuser.objects.filter(user = self.request.user)

forms.py

class SightUp(UserCreationForm):
    first_name = forms.CharField( widget = forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'First Name'}), max_length=32, help_text='First name')
    last_name = forms.CharField( widget = forms.TextInput(attrs={'class':'form-control','placeholder':'Last name'}), max_length=32)
    email = forms.EmailField(widget =forms.TextInput(attrs={'class':'form-control', 'placeholder': 'Email'}), max_length =64,help_text='Enter valid Email')
    username = forms.CharField(widget =forms.TextInput(attrs={'class':'form-control','placeholder':'Username'}))
    password1 = forms.CharField(widget =forms.PasswordInput(attrs={'class':'form-control','placeholder':'Password1'}))
    password2 = forms.CharField(widget =forms.PasswordInput(attrs={'class':'form-control','placeholder':'Password2'}))
    class Meta(UserCreationForm.Meta):
        model = User
        fields = UserCreationForm.Meta.fields + ('first_name','last_name','email')

user.html

     {% for i in detailsuser %}
      <h1> yourname: i.email </h1>
      {% endfor %}
      <h1>Your last name:</h1>
      <h1>Your nickname:</h1>

models.py

class detailsuser(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)

Ваша задача исходит из представления регистра, вам нужно сделать условный тест для метода POST следующим образом:

def registerform(request): ##registerform 
    if request.method == 'POST': #Here is where you make the condition for POST
       form = SightUp(request.POST or None)
       if form.is_valid():
           user_obj = form.save()#Сохранение значений в датабазе методом .save()
           username = form.cleaned_data.get('username')
           raw_password = form.cleaned_data.get('password1')
           email = form.cleaned_data.get('email')
           user = authenticate(username=username,password =raw_password,email=email)
           login(request,user)
           return redirect('/userprofile/')# ЗАМЕНИТЬ
    else:
         form = SightUp()

    context =  {'form':form }
    return render(request,'user.html',context)

Я проверил это. Проблема возникла из-за цикла в моем шаблоне

Вернуться на верх