django-基础
模型,当前项目的开发都是基于数据的
要先分析出项目中所需要的数据然后设计数据库表
先定义模型类,然后通过模型类和对象完成对数据库的增删改查
模型中使用了ORM框架,他会把数据库表的行与其相应的对象建立关联,可以使用面向对象去操作数据库
1.创建模型类
2.模型迁移
分为两步(1)先根据模型类生成创建表的语句 makemigrations
(2)执行迁移,根据上面生成的语句在数据库中建表
3.操作数据库
通过创建的模型类和对象完成数据库表的增删改查
(1)测试的方法,进入当前项目的shell ,进行简单的增删改查API操作
python manage.py shell
直接导入book应用中的models模块中的模型类
通过模型类创建对象,然后用这个对象去修改去添加内容,操作完之后要使用 对象.save()来保存(我觉得也应该是提交事务)
查询表中的所有记录
模型类类名.objects.all()
通过对象名,delete()来删除这个对象,在查询时表里面就没有这个对象的相关信息
站点管理(后台):
分为内容发布和公共访问
内容发布的部分由管理员负责查看,添加,修改,删除数据
django可以根据创建的模型类自动生成管理模块
管理模块的步骤:
1.管理界面本地化
在项目管理目录的settings中修改语言,时区
2.创建管理员
python manage.py createsuperuser
3.注册模型类
在应用下的admin中注册站点管理信息模型类中 admin.site.register(模型类类名)
4.自定义站点管理界面
在应用下的admin中自定义站点管理信息模型类,这个类继承于站点管理中的模型,这个类用于设置要展示的模型类中的属性,通过在list_display这个列表中添加字段名就可以了
然后注册信息模型类及站点管理类
admin.site.register(模型类类名,模型类站点管理类)
视图和URL
视图就是用来接收用户请求,处理逻辑,返回数据的模块
一个视图就是一个函数,视图的第一个参数是http请求类型的对象request,包含了所有的请求信息
如果不使用模板的话,视图必须返回Httpresponse(响应)独象,包含返回给请求者的响应信息。需要导入HttpResponse模块,从django.http中导入
如果使用了模板的话 返回
render(request,模板的路径,上下文(是一个字典,一般封装从数据库中查到的数据))返回html页面
上下文使用context{‘key’,’value’}
但是想要使用模板的话得现在项目管理目录下的设置文件中指明模板的加载路径(怎么指明?将项目路径与模板路径进行拼接,指明模板的路径)
项目的根路径:BASE_DIR
当用户在浏览器中输入中输入URL(网址)的时候,首先会从项目的管理目录的settints设置文件中ROOT_URLCONG(根路径的URL配置)属性,将URL传递给项目管理目录下的url.py这个文件(这个文件的作用就是应用路由配置,在这里配置URL正则,如果匹配成功j就把某个应用下的urls包含到这个项目中去 ,指明下一级如何匹配,然后再在应用的urls文件中正则匹配请求,如果请求成功,就执行应用vies中的某个函数去对应这个请求)