Django Admin上传图片并在显示出来

创建项目后,在和mainsite和template和static同一级别目录下创建一个media文件夹
在settings.py中添加MEDIA_ROOT和MEDIA_URL

MEDIA_URL ='/media/'
MEDIA_ROOT = 'os.path.join(BASE_DIR, 'media')

在models.py相应的模型类中添加ImageField

photo = models.InageField(null = True,
								blank = True,
								upload_to = 'image',
								max_length = 200 )

修改urls.py添加如下代码:

...
from django.conf.urls.static import static
from .import settings




urlpatterns = [
   ...
   ] + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
//或者直接在末尾添加一行
urlpatterns + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)

之后进行数据库迁移,并在admin.py中注册即可。

...
from .models import Professor
class ProfessorAdmin(admin.ModelAdmin):
	list_display = (.... , 'photo')
admin.site.register(Professor, ProfessorAdmin)

会看到admin相关数据行多了一条
在这里插入图片描述
Django Admin上传图片并在显示出来_第1张图片
点进去会看到相关图片会显示出来

你可能感兴趣的:(Django)