从今天开始,来连载一下全新的FMS系统开发日志。
看过我的博客的朋友可能知道,以前连载过一个FMSJava系统的合同成本管理系统。自从现在干了制造业之后,发现制造业的财务难度不算高,而量大才是最难弄的点,然后开发了一系列东西,把原来的FMS系统移植到Python上,后来加了很多内容。
随着内容的逐渐庞大,重新采用了新的模板,准备打造更加现代化一点的样式,然后也重新思考一下整个系统的布局。把结构搞的更现代一些。记录一下开发过程,万一将来忘记了点什么可以来找找看。
项目创建
在决定写新项目的时候,正好Django发布了6.0版,就决定用最新的Django,顺便把外围的东西都整理一下。
安装的软件如下,使用pip freeze > requirements.txt来获取项目的安装包列表:
asgiref==3.9.1
Django==6.0
et_xmlfile==2.0.0
openpyxl==3.1.5
psycopg2==2.9.10
python-dateutil==2.9.0.post0
pywin32==311
six==1.17.0
sqlparse==0.5.3
tzdata==2025.2
基础模板和静态文件
基础模板在上一篇文章里已经修改好了,将其扔到templates/base/目录下。
静态文件则把assets目录直接放到项目根目录下边的static目录下边,并在settings.py中配置上:
STATICFILES_DIRS = [
BASE_DIR / "static",
]
创建首页APP
打算创建一个应用用来放整个项目通用的部分,加上一个通用的Notification用来显示系统通知。
新建名为portal的应用,然后在其中配置一个视图函数portal,路径为根目录,用来显示portal/index.html,页面先继承base.html,内容为空。启动之后能够显示正常,就说明之前配置的静态文件也OK了。
创建通知类如下:
class SystemNotification(models.Model):
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', db_index=True)
class Meta:
ordering = ['-created_at']
verbose_name = '系统通知'
verbose_name_plural = '系统通知'
接下来先不着急编写处理这个通知的东西。还是先把用户登录的内容写好。