您好,我在 django 上创建了一个小站点,但是当我想使用 django 管理面板添加图像时,它没有显示,但显示了图像的名称。
网址.py
from django.conf.urls import url, include
from django.views.generic import ListView, DetailView
from news.models import Articles # Импорт база данных
from django.conf import settings
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns = [
url(r'^$',
ListView.as_view(queryset=Articles.objects.all().order_by("-date")[:20],
template_name="news/posts.html")),
url(r'^(?P<pk>\d+)$', DetailView.as_view(model = Articles, template_name = "news/post.html"))
# url(r'^$', 'news.views.news'),
]
if settings.DEBUG:
urlpatterns += staticfiles_urlpatterns() + static(
settings.MEDIA_URL, document_root=settings.MEDIA_ROOT
)
post.html
{% extends "mainApp/poisk.html" %}
from django.conf import settings
{% block content %}
<h2 class="text-info">{{articles.title}}</h2>
<h6 class="text-info">Опубликовано: {{articles.date|date:"Y-m-d в H:i:s"}}</h6>
<p>{{articles.post|safe|linebreaks}}</p>
<img src="{{MEDIA_URL}}{{ news.news_image.url}}">
{% endblock %}
设置.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/uploads/media/'
主应用程序中的urls.py
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^', include('mainApp.urls')),
url(r'^news/home/', include('mainApp.urls')),
url(r'^news/', include('news.urls')),
url(r'^admin/', admin.site.urls),
]
模型.py
from django.db import models
class Articles(models.Model):
title = models.CharField(max_length = 120)#Максимальная длина строки 120
post = models.TextField()
date = models.DateTimeField()
image = models.ImageField(blank=True, upload_to='media/', help_text='150x150px', verbose_name='Ссылка картинки')
def __str__(self):
return self.title

在 dev-server 模式下,您需要添加 Django 的文件发布。urls.py文件将如下所示: