打算做一个图片管理的软件用于练手,可以保存照片,并可以方便查询到照片,所以分析数据库模型如下:
一般来说,我们会根据分析来确定设计多少个应用程序,易于管理和修改。
我在本项目中有几个模型,则创建几个应用程序,这样对应的逻辑代码在各自的文件夹下。
根据下面的步骤,依次创建用户表,地点表及类别表的应用程序(在创建django项目时我们已创建图片表的应用程序PhoneSystem)
创建步骤:
如下表示成功:
都创建完成之后:
添加到本项目中:
每个模型代码添加到各自的应用程序的models.py里面。
ps:未定义Id时,会自动添加该列,设为自增长且为主键。
如下:
注意,之前要安装好插件:
若还出现No module named 'MySQLdb’错误:
完成后,可看到添加的表:
(因为我的pycharm连接不上mysql,新建数据库和查看我用的是SQLyog)
输入Ctrl+Shift+F10;
端口可修改为空闲的:我最后修改为8001
再次运行,在浏览器输入http://127.0.0.1:8001/:
在任意一个应用程序的admin文件中添加如下代码:
admin.site.site_header="照片后台管理"
admin.site.index_title='后台系统'
admin.site.site_title='管理'
所有应用程序都要注册。
结果:
在此,我们可以添加用户及各类表格内容。
如:
加粗表示不能为空的项,若能为空,模型类中列添加属性black=True
若为选项,在后台不想显示0或者1之类数字,可用下面的:
或者
在目录下新增一个文件目录media
设置文件保存位置:
图片上传时保存:
设置路由,每次点击列表可打开图片:
效果:
自动跳转图片:
在每个应用程序文件夹下添加路由文件
在主路由文件上添加上每个应用程序的路由映射