Gdy użytkownik zarejestruje się dla mojej aplikacji. Otrzymuję ten błąd po dotarciu do strony profilu.Django Atrybut "image" nie ma z nim żadnego pliku
The 'image' attribute has no file associated with it.
Exception Type: ValueError
Error during template rendering
In template C:\o\mysite\pet\templates\profile.html, error at line 6
1 <h4>My Profile</h4>
2
3 {% if person %}
4 <ul>
5 <li>Name: {{ person.name }}</li>
6 <br><img src="{{ person.image.url }}">
Traceback Switch back to interactive view
File "C:\o\mysite\pet\views.py" in Profile
71. return render(request,'profile.html',{'board':board ,'person':person})
myślę, że ten błąd zdarza się, ponieważ mój szablon wymaga obrazu i widział tylko on zarejestrowany nie może dodać obraz, chyba że przejdź do strony edycji i dodaje stronę potem może uzyskać dostęp do strony profilu.
Moja profile.html
<h4>My Profile</h4>
{% if person %}
<ul>
<li>Name: {{ person.name }}</li>
<br><img src="{{ person.image.url }}">
</ul>
{% endif %}
Mój profil funkcja w views.py
def Profile(request):
if not request.user.is_authenticated():
return HttpResponseRedirect(reverse('world:LoginRequest'))
board = Board.objects.filter(user=request.user)
person = Person.objects.get(user=request.user)
return render(request,'profile.html',{'board':board ,'person':person})
próbowałem tego rozwiązania poprzez utworzenie 2 instancję obiektu osoba i oddzielając je na mój szablon z gdyby to się nie udało.
<h4>My Profile</h4>
{% if person %}
<ul>
<li>Name: {{ person.name }}</li>
</ul>
{% endif %}
{% if bob %}
<ul>
<br><img src="{{ bob.image.url }}">
</ul>
Moi rozwiązania funkcji Profile
def Profile(request):
if not request.user.is_authenticated():
return HttpResponseRedirect(reverse('world:LoginRequest'))
board = Board.objects.filter(user=request.user)
person = Person.objects.get(user=request.user)
bob = Person.objects.get(user=request.user)
return render(request,'profile.html',{'board':board ,'person':person,'bob':bob})
ja czytam dokumentację do wbudowania w tagach szablonów i filtrów myślę tu rozwiązaniem jest użycie szablonu (i) tag, ale nie mogę go poprawnie użyć.
Jak skonfigurować ten szablon, aby zdjęcie było opcją. Jeśli ich nie ma, zostaw to, ale wyświetl imię osoby.
Dziękuję za pomoc
Prawdziwym problemem jest tutaj Dj ango * opóźniona * decyzja o zgłoszeniu błędu, gdy pliki nie istnieją, zamiast tego powinna po prostu zwrócić Brak. – s29