最近在学习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/"
成功解决