Как редактировать данные пользователя в django - PullRequest
0 голосов
/ 24 апреля 2020

Я использовал модальное bs4 в profile.py и модели Profile, в которой есть биография, полное имя, пол и другая связанная информация. Я не могу редактировать информацию о пользователе. Когда я нажимаю кнопку Сохранить изменения на модальной кнопке, ничего не происходит. это Forms.py:-

class UserUpdateForm(forms.ModelForm):
    class Meta:
        model=User
        fields=['username','email']
        widgets={
            'username':forms.TextInput(attrs={'placeholder':'Enter Name'}),
            'email':forms.TextInput(attrs={'placeholder':'Enter Email'})
        }



class ProfileUpdateForm(forms.ModelForm):
    class Meta:
        model=Profile
        fields=['image','fullname','bio','location','birth_date','gender']
        widgets={
            'image':forms.FileInput(attrs={'placeholder':'Upload Image'}),
            'fullname':forms.TextInput(attrs={'placeholder':'Enter Fullname'}),
            'bio':forms.Textarea(attrs={'placeholder':'Enter bio'}),
            'location':forms.TextInput(attrs={'placeholder':'Enter location'}),
            'birth_date':forms.TextInput(attrs={'placeholder':'Enter birth_date'}),
            'gender':forms.TextInput(attrs={'placeholder':'Enter gender'}),
        }

Это profile.py:-

<div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
  <div class="modal-dialog modal-dialog-centered model-lg" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLongTitle">EDIT INFORMATION</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body ">
        <form method="POST" class="form-group" enctype="multipart/form-data" >
          {% csrf_token %}
        <div class="form-group textinput">
            {% for fields in u_form %}
            {{fields}}
            <br>
            {% endfor %}
            {% for fields in p_form %}
            {{fields}}
            <br>
            {% endfor %}
        </div>
    </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="submit" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

это views.py:-

@login_required
def profile(request):
    if request.method =='POST':
        u_form = UserUpdateForm(request.POST,instance=request.user) #request.POST=>to post the data , instace=request.user=>
        p_form=ProfileUpdateForm(request.POST,request.FILES,instance=request.user.profile)#request.FILES is for image upload

        if u_form.is_valid() and p_form.is_valid():
            u_form.save()
            p_form.save()
            return redirect('profile')
    else:
        u_form = UserUpdateForm(instance=request.user)
        p_form = ProfileUpdateForm(instance=request.user.profile)
    context={ 'u_form':u_form,'p_form':p_form}
    return render(request, 'users/profile.html',context)

Я использовал модал bs4 в profile.py и модель профиля, в которой есть биография, полное имя, пол и другая связанная информация. Я не могу редактировать информацию о пользователе. Когда я нажимаю кнопку Сохранить изменения на модальной кнопке, ничего не происходит.

...