Django後臺管理中上傳的圖片訪問不了問題
阿新 • • 發佈:2019-01-08
最近在學習python世界強大的web開發框架–Django.
在官網(https://www.djangoproject.com/)中大致瞭解了下,再跟著《Django Web開發指南》這本書做些簡單的應用。
先是第7章Photo Gallery應用,本來以為按圖索驥很簡單就可以過去,沒想到還是碰到了坑。
書裡面有些內容沒有提到,即便我去下載例子原始碼(http://withdjango.com/readers/),由於本地使用的環境與作者當時的不一樣,也不容易解決。
還是先說下問題吧。
該應用主要在後臺上傳圖片,管理圖片,在前端顯示圖片及縮圖。
按django開發基本流程,建立專案info,建立應用info1, 接著定義模型gwmdmsInfo:
models.py:
# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models # Create your models here. class BottomBarInfoManage(models.Model): name = models.CharField(max_length=20, verbose_name="底欄名稱") title = models.CharField(max_length=10, verbose_name="底欄標題") icon_address = models.ImageField(upload_to="media", max_length=100, verbose_name="圖示") used_icon_address = models.ImageField(upload_to="media", max_length=100, verbose_name="選中圖示") type = models.CharField(max_length=10, verbose_name="底欄型別") action_address = models.CharField(max_length=100, null=True, blank=True, verbose_name="動作地址") create_time = models.DateTimeField(auto_now=True, verbose_name="建立時間") alter_time = models.DateTimeField(auto_now=True, verbose_name="修改時間") who_did =models.CharField(max_length=10, verbose_name="操作人") class Meta: db_table = "bottomMessage" verbose_name = "底欄資訊維護" verbose_name_plural = verbose_name def __str__(self): return self.name
在配置檔案中新增如下程式碼
MEDIA_ROOT = os.path.join(BASE_DIR, "static/image")
ROOT_URL = "/"
MEDIA_URL = ROOT_URL + "static/image/"
成功解決