关于django项目结构的疑问
刚学django不久,我注意到startproject生成的初始目录结构,一开始有一个urls.py作为路由,但是没法用ORM操作数据库,要通过ORM操作数据库必须startapp创建app,才会在对应目录下生成models.py文件,在里面自定义类继承models.Model并绑定属性,通过makemigrations和migrate来创建数据表。
我希望有人能给我解释一下django这一套流程的运作机制,比如,是不是无论什么py文件,不一定叫models.py,只要里面有继承models.Model的类,执行makemigrations和migrate就会建表。诸如此类的细节,如果有相关话题的视频链接,也可以分享一下。
评论 1
APP是Django下的一个小应用,一个大的项目都是多个小APP应用组成的。你也可以自己手动新建一个目录然后手动创建其它.py文件。手动创建的目录你需要在settings.py里注册一下,不然django就只把这个目录当成普通的python目录。 事实上,你可以把这些文件放在你任意目录下,可以任意命名。想使用的时候自己手动导入就行。但我不建议你这样做。 你可以相像,当你的项目很大的时候一个目录下的N个urls、N个类似models功能文件、N个views.py的那种情况。你会崩溃的。 之所以以APP形式来管理,主要是为了方便管理,实现前后端分离、松耦合的目的。MVC,你去了解一下。 如果按你的想法去操作的话,就像从文明社会回到了解放前了。