使用python+Django建立项目的结构问题,谢谢

wang355 2019-02-18 09:47:50
各位大神,请问一下使用Django做项目,是不是把所有的表都放到models.py中,还是一个表对应一个文件,比如数据库中有teacher表,book表和roles表。我是把这3个表的定义放到一个models.py中还是建立teacher.py,book.py,roles.py中,到底用哪种方式,请给予帮助。
第二个问题是views,里面写逻辑,我看很多例子把所有的逻辑都写在views.py中了,这样代码是不是太多了,是不是根据不同的功能拆分成多个views.py吧?请给予帮助,谢谢
...全文
231 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2019-06-02
  • 打赏
  • 举报
回复
您好,我想请教一下django可以实现似request.getHeader("referer")的功能吗,方便回答一下吗?
豆芽胡 2019-02-21
  • 打赏
  • 举报
回复
多个model在一个应用下的怎么放都行,放在一个文件里 或者 一个文件夹里多个文件里也行。
不同应用不要放在一起,以免混淆!
陈年椰子 2019-02-18
  • 打赏
  • 举报
回复
所有的表都放到 models.py
这样可以用
python manage.pymakemigrations
python manage.py migrate
来初始化表。

页面逻辑写到 views.py
功能逻辑另外写 , views.py 里import 功能逻辑
AcHerat 2019-02-18
  • 打赏
  • 举报
回复
框架的结构并不是就直接限定死的,你要理解django的框架,它是创建了一个工程,然后里边包含多个application,你在工程的settings.py中设置好这些application就行,每个application中都可以有models.py和views.py。


# Application definition

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'accounts',
'release',
'monitor',
]

像上述代码中,accounts、release和monitor都是一个工程的应用(application)

先看看表的处理,对于同一个应用,虽然有多个表,但肯定还是放在同一个models.py中,如果单个表放一个py文件,你要创建多少个,不要去管这个文件有多长。当然部分表你也可以不用写models.py中,直接用数据库连接池的方式访问数据库都是可以的。

其次是views.py文件,逻辑处理不是要写在这个文件中,它本身是为了给web展示做的处理,并不是真正的逻辑处理,你可以自己定义其他的py文件,写核心的后台逻辑,涉及到前端的可以放在views.py中。

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧