#python #html #django #image
#python #HTML #django #изображение
Вопрос:
Здесь мой взгляд выглядит :
когда я проверяю элемент, заданный источник изображения :
127.0.0.1:8000/store/arm-list/apple.jpg
и :
итак, вот мой код :
urls.py :
urlpatterns = [
path('arm-list/', VechileListView.as_view(), name='arm-list'),
]
if settings.DEBUG:
urlpatterns = static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
views.py :
class VechileListView(ListView):
model = Vechile
template_name = 'store/arm_list.html'
context_object_name = 'arm'
def get_context_data(self, **kwargs):
# Call the base implementation first to get a context
context = super().get_context_data(**kwargs)
# Add in a QuerySet of all the books
context['vendor'] = Vendor.objects.all()
return context
settings.py
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
MEDIA_ROOT = os.path.join(BASE_DIR, 'store/images')
MEDIA_URL = '/media/'
models.py
enter code here
class Vechile(models.Model):
no_polisi = models.CharField(max_length=10)
alias = models.CharField(max_length=20, null=True)
photo = models.ImageField(upload_to='', null=True)
....
arm_list.html
enter code here
{% if arm %}
{% for arm in arm %}
<tr>
<td class="serial">{{ forloop.counter }}</td>
<td><img src="{{ arm.photo.url }}"></td>
<td>{{ arm.alias }}</td>
.....
...
{% endfor %}
вот моя файловая структура
Ответ №1:
Проблема, с которой вы столкнулись, заключается в том, что вы установили значение MEDIA_URL
/media/
. поэтому, если вы измените значение MEDIA_ROOT
/media
и загрузите все файлы media/store/images
, тогда это должно сработать.
вот так:
settings.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
MEDIA_URL = '/media/'
models.py
class Vechile(models.Model):
....
photo = models.ImageField(upload_to='store/images')
....
Я надеюсь, что это решит вашу проблему.
Комментарии:
1. можете ли вы поделиться вами
models.py
?