Python中Django框架的解决方案有哪些?

目前有的需求:
1.要求使用 django 框架,管理数据库某些(一部分静态资源链接等)已经存在的表的数据。
2.能对数据进行增删改查。
3.图片链接要能显示图片。
4.随着公司数据量的增大,可能能随时增加新的数据表进行管理。

目前的思路:
1.使用 inspectdb 命令反映射出需要管理的数据表,并添加到模型类
2.使用 django 自带的后台管理系统 admin 进行数据管理。

目前遇到的困难:
1. inspectdb 是全部映射处理,因为大部分表是不需要管理爹,所以需要把管理的表手动添加到模型类,如果随着管理表的增多,怎么动态增加模型类?
2.在 django 中数据表的模型类的数量是固定的,如果有一张表不需要管理了,怎样才能动态的删除这个模型类?
3.还有没有别的思路?因为目前选择 django 是因为有 admin 这个后台管理的优点,如果有别的解决方案,很乐意聆听。
Python中Django框架的解决方案有哪些?


11 回复

个人感觉 inspectdb,所有映射都到 model 没什么影响性能的,新增或者删除表时,重新 inspeectdb 到另一个文件,两个文件一对比 diff 一下,该删的删该加的加


Django本身就是一个完整的Web框架解决方案,核心方案就是它的“MTV”模式(Model-Template-View)。你问“有哪些解决方案”,我理解你可能指的是针对不同常见需求的Django式做法。

  1. 快速构建CRUD后台:直接用Django Admin。定义好Model,几行代码就能生成功能完整的管理界面,适合内部工具或简单数据管理。
  2. 处理复杂业务逻辑:放在View或者单独的服务层(Service Layer)里。很多人喜欢在views.py里写,但项目大了最好把核心逻辑抽到单独的services.py模块,这样更清晰。
  3. API开发:别用纯Django View手写JSON响应了,太麻烦。用Django REST framework (DRF),这是事实上的标准。它提供了序列化、视图集、认证权限等一堆开箱即用的功能,能省你一大半时间。
  4. 用户认证系统:Django自带的django.contrib.auth很强,处理登录、注册、权限组基本够用。如果需要社交登录(如微信、微博),用django-allauth这个第三方库。
  5. 异步任务:Django本身处理请求是同步的。如果有发邮件、处理图片这种耗时操作,别阻塞HTTP响应,用Celery。它专门处理异步任务队列,搭配Redis或RabbitMQ作为消息中间件。

简单说,标准业务用Django+DRF,后台用Admin,异步用Celery,基本能覆盖大部分项目需求。

感谢你的回复,但是重新 inspectdb 后需要重新 migrate,项目在运行的时候好像是办不到的。


不用,只要指定 table_name, 然后在 content_type 表里自己插个记录。

逆向生成的 model 文件里面会默认添加一个 manage 属性,而且是 false。你不改的话生成的 model 是不会对数据库进行修改操作的,即使你 migrate 也不会产生新表。如果要用 django 操作表,把 manager 改成 true 或删掉都可以。

你好,感谢你的回复,我刚刚试了一下 python manage.py inspectdb,并没有看见 manger 属性。

你好,感谢你的回复,我还是不明白 diff 是在干什么,是 git 中的 diff 吗?而且在项目运行的过程中能修改代码吗?

有个 xadmin 更强大。。

非常感谢你的回复,明天我再试试,期待你的补充!

有 个标准库叫 difflib 可以比较字符串或文本文件。

>>> import difflib
>>> dif=difflib.Differ()
>>> list(dif.compare(‘abc’, ‘abbc’))
[’ a’, ’ b’, ‘+ b’, ’ c’]
>>>

您好, 怎么根据表内的图片链接显示多张图片,并且可以显示缩略图呢?

回到顶部