в этом вопросе мне нужно поместить поле изображения на этой странице. Мне нужно сделать что-то вроде учетной записи Facebook, когда кому-то нужно изменить изображение учетной записи, он может выбрать одно из изображений на своем компьютере, и когда это сделать, страница перенаправляет его c page Примечание : Мне нужно получить это поле от моделей, а не форм , этот код также требует от меня усердия, я уверен, что получаю большую ошибку, поэтому если кто-то может помочь
views.py
class AddImage(AddNewImage):
template_name = 'account/userprofile_form.html'
form = AddNewImage
def my_view(self, request, user_id):
forms = self.form(instance=UserProfile.objects.filter(id=user_id))
return render(request, self.template_name, {'forms': forms})
def post(self, request):
form = self.form(request.POST)
if form.is_valid():
form.save()
return redirect('account:view_profile')
forms.py
# Add new logo and replace it with old logo
class AddNewImage(forms.ModelForm):
class Meta:
model = UserProfile
fields = ['logo']
urls.py
urlpatterns = [
path('new-image/<int:user_id>', views.AddImage, name="add_new_image"),
]
userprofile_form. html* профиль 1016 *
{% extends 'base.html' %}
{% block title %} Add New Image {% endblock %}
{% block body %}
<div class="add-image">
<div class="container">
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{% for form in forms %}
{{ form }}
{% endfor %}
<input type="submit" class="btn btn-success">
</form>
</div>
</div>
{% endblock %}
models.py
from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
overview = models.TextField(editable=True, help_text="This field is important to make the viewers know you and your experience")
city = models.CharField(max_length=20)
phone = models.IntegerField(default=0)
logo = models.ImageField(default='default-logo.jpg')
. html
{% extends 'base.html' %}
{% block title %} Your Profile {% endblock %}
{% block body %}
<div class="profile">
<div class="container">
<div class="jumbotron">
<div class="logo-image text-center fl-right">
{% if user.userprofile.logo %}
<div class="my-image">
<a href="{% url 'account:user_image' request.user.id %}">
<img class="img-responsive" src="{{ user.userprofile.logo.url }}">
</a>
<span>
<a href="{% url 'account:add_new_image' request.user.id %}" class="fa fa-plus fa-1x text-center"></a>
</span>
</div>
{% else %}
{% load staticfiles %}
<img class="img-responsive img-thumbnail" src="{% static 'index/images/default-logo.jpg' %}">
{% endif %}
<span>{{ user.first_name }} {{ user.last_name }}</span>
</div>
<div class="fl-left">
<h2>Overview</h2>
<p>{{ user.userprofile.overview }}</p>
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
{% endblock %}
в профиле. html целевая ссылка, которую я спрашиваю о нем, :
<span>
<a href="{% url 'account:add_new_image' request.user.id %}" class="fa fa-plus fa-1x text-center"></a>
</span>