小tip:路径名称前面的“r”表示这是一个Python原始字符串。即Python会使用字符串中的每个原始字符,不会进行转义(比如r“\n”就表示一个反斜杠和一个字符n,而不是换行)使用场景:一般在正则表达式或者DOS文件的路径名。
-
创建好项目后开始创建模型来添加数据库相关服务
设置数据库
使用MySQL:有mysql之后剩下的就是需要django通知我要用你,那么就需要在配置文件里面进行添加。关于数据库一共有六个相关的设置,一般来说可能只会用到两个:ENGINE、NAME、HOST、PORT、USER、PASSWORD。MySQL一般默认使用3306端口,使用默认端口就不需要指定端口,HOST不指定表示数据库服务器与应用程序运行在一个计算机上。(要保证在使用django之前已经创建了name对应的database并且用户名和密码都存在)
使用SQLite:一般用于测试,也可用于特定环境下的部署(比如应用于无需大量同时写入需求的场景)SQLitt没有主机、端口、用户和密码,因为它是使用本地文件来存储数据,本地文件系统的访问权限就是数据的访问控制,所以在使用的时候要确保Web服务器进程的账户同时拥有数据库文件本身和含有数据库文件的目录的写入权限。不仅可以使用本地文件,也可以使用纯内存数据库。
需要通知django连接数据库并且使用上面设置的应用程序要用的表:
要使用到manage.py和syncdb命令(),在1.7以后使用migrate,每当执行python manage.py migrate这个命令以后,Django会查找INSTALLED_APPS中列出的应用的models.py文件,对于每个找到的模型,他会创建一个数据库表。如果使用的是SQLite,会注意到mystie.db这个数据文件刚好创建在设置中指定的文件夹里。
创建超级用户管理后台,设置过程中包含了与fixtures特性相关的一行,这个特性标书数据库预先存在的系列化内容。在任何新建的应用中们可以使用fixtures来预加载这种数据类型。
Django使用的是另一种形式的MVC模式-----MTV。model保持不变,但是view在Django里面是模板。Django中的视图表示视图函数,他们组成控制器的逻辑(controller),与MVC逻辑相同,仅仅是对不同角色进行的不同解释。
数据库详细:https://blog.csdn.net/qq_43577380/article/details/105674549 -
在Django中应用Python shell
即使没有模板(view)或视图(controller),我们依然可以通过添加一些BlogPost项来测试数据模型。如果应用由关系型数据库(RDBMS)支持就可以为每个blog项的表添加一个数据记录。如果使用的是NoSQL数据库,就需要向数据库中添加其他对象。
进入交互式shell