理清Django中的一些概念
ORM:
对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。
简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。
ORM在业务逻辑层和数据库层之间充当了桥梁的作用。
image.png
DRF:
将数据库的东西通过ORM的映射取出来,通过view和serializers文件绑定REST接口,当前端请求时,返回序列化好的json
图解(取之知乎):
![](https://img.haomeiwen.com/i18603521/9b901dc1ccb31ac6.png)
将数据库的东西通过ORM的映射取出来,通过view文件,按照template文件排出的模板渲染成HTML。当用户请求相应的url时,返回相应的结果。
![](https://img.haomeiwen.com/i18603521/4ab28fd205245b13.png)
DRF是Django的超集,去掉了模板的部分,提供了一个REST的接口,同时也提供了满足该接口的代码工作流。同时,在REST的规范下,升级了权限和分页等功能,增加了限流和过滤搜索等功能。
路由的几种写法:
1.不用写view
from django.views.generic import TemplateView
urlpatterns = [
path('',TemplateView.as_view(template_name='index.html')),
]
2.导入自带路由
from rest_framework.routers import DefaultRouter
router = DefaultRouter()
router.register(r'assets',views.AssetViewSet)
urlpatterns = [
path('', include(router.urls)),
]
要写AssetViewSet
3.FBV(基于类的视图,当然也可以用cbv,基于函数的视图)
from .views import UserLoginView,
urlpatterns = [
path('login/',UserLoginView.as_view(),name="login"),
]
rest_framework
1.使用
#下载安装
shell> pip3 install djangorestframework # 核心包
shell> pip3 install markdown django-filter coreapi Markdown Pygments django-guardian # 依赖包
注册应用到项目中
INSTALLED_APPS = [
...
'rest_framework',
]
如果您打算使用可浏览的API,必须添加路由
urlpatterns = [
...
path('api-auth/', include('rest_framework.urls')),
]
网友评论