Настройка ModelForm с загрузкой изображений в django
Я новичок в django и в моем проекте есть форма, которая позволяет пользователю обновить фотографию профиля. Проблема в том, что в том виде, в котором я написал код для этой формы, вывод в браузере выглядит следующим образом:
Но дело в том, что я не хочу, чтобы первая строка (Profile pic:...) отображалась. Есть ли какой-нибудь способ сделать это?
Код:
views.py
def profile_view(request, profile_id):
askedprofile = Profile.objects.get(pk=profile_id)
profiles = Profile.objects.all()
form = ProfileForm(request.POST, request.FILES, instance=askedprofile)
if request.method == "POST":
if form.is_valid():
image_path = askedprofile.profile_pic.path
if os.path.exists(image_path):
os.remove(image_path)
form.save()
return redirect('myprofile', profile_id=profile_id)
context = {
'askedprofile': askedprofile,
'profiles': profiles,
'form': form,
}
return render(request, 'my_profile.html', context)
models.py
class Profile(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True)
username = models.CharField(max_length=200, null=True)
password = models.CharField(max_length=50, null=True)
profile_pic = models.ImageField(null=True, blank=True, upload_to='images/')
forms.py
class ProfileForm(forms.ModelForm):
class Meta:
model = Profile
fields = ['profile_pic']
urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.home_view, name="home"),
path('forum/', views.forum_view, name="forum"),
path('forum_detail/<topic_id>', views.forum_detail_view, name="forumdetail"),
path('login/', views.login_view, name="login"),
path('signup/', views.signup_view, name="signup"),
path('logout/', views.logout_view, name="logout"),
path('forum-create/', views.forum_create, name="forumcreate"),
path('answer-create/<topic_id>', views.answer_create, name="answercreate"),
path('topic-delete/<topic_id>', views.delete_topic, name="deletetopic"),
path('answer-delete/<answer_id>', views.delete_answer, name="deleteanswer"),
path('my-profile/<profile_id>', views.profile_view, name="myprofile"),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
my_profile.html
{% for profile in profiles %}
{% if profile.user == request.user %}
<img src="{{ profile.profile_pic.url }}" width="150" height="150">
<form action="{% url 'myprofile' profile.id %}" method="post"
enctype="multipart/form-data"> {% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Upload" class="submit_button">
</form>
{% endif %}
{% endfor %}
Заранее спасибо!