Django的基本操作流程总结
2017-11-23 20:43
302 查看
Django
MTV框架和MVC框架本质上没有什么差别。概述:用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件中,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。被独特的发展起来用于映射传统的输入,处理和输出功能在一个逻辑的图形化用户界面的结构中。
核心思想:解耦,降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上的实现代码的重用。
MVC:Model(模型)负责业务对象与数据库的对象(ORM)
View(视图)负责业务逻辑,并在适当的时候调用Model和Template
Template(模板)负责如何把页面展示给用户
注意:Django还有一个url(路由)分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template
流程:用户用控制器在页面输入访问url->根据url匹配相应的视图(view)函数->视图(view)去模型(model)里取数据->模型(model)去数据库中取数据,将数据返回给视图(view)->视图(view)把要显示的数据返回给模板(template)->模板(template)就是html文件,并返回给用户。
基本流程操作
1.设计表结构2.配置数据库:对databases进行配置(记得要打开数据库)
注意:Django中默认使用的是SQLite数据库,python3装的是PyMysql
1.在init.py中增加如下代码
importpymysqlpymysql.install_as_MySQLdb()
2.修改database
DATABASES={
'default':{
'ENGINE':'django.db.backends.mysql',
'NAME':'数据库名称',
'USER':'用户名',
'PASSWORD':'密码',
'HOST':'数据库服务器ip,本地可以使用localhost',
'PORT':'端口',
}
}
3.创建应用:一个工程中可以创建一到多个应用,每个应用进行一种业务处理
在cmd终端进入创建的工程目录下:输入
<pythonmanage.pystartappmyApp>
4.激活应用:在setting.py文件中,将myApp应用加入到
INSTALLED_APPS=[
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myApp',
]
5.定义模型
概述:有一个数据表,就有一个模型与之对应
在项目目录下的models.py中定义模型
fromdjango.dbimportmodels
#Createyourmodelshere.
classGrades(models.Model):
gname=models.CharField(max_length=10)
gdate=models.DateTimeField()
gboynum=models.IntegerField()
ggirlnum=models.IntegerField()
isDelete=models.BooleanField()
classStudents(models.Model):
sname=models.CharField(max_length=20)
sage=models.IntegerField()
sgender=models.BooleanField()
scontend=models.CharField(max_length=40)
isDelete=models.BooleanField()
sgrade=models.ForeignKey("Grades")
6.生产数据表
1.生成迁移文件:pythonmanage.pymakemigrations
2.执行迁移:pythonmanage.pymigrate
7.测试数据操作
1.进入pythonshell:pythonmanage.pyshell
2.引入包:pythonmanage.pymakemigratons
3.查询:Grades.objects.all()查看班级表中的所有数据
4.创建数据,,,查看某个对象,,,修改数据,,,,删除数据,,,,(g.delete)
8.启动服务器:格式pythonmanage.pyrunserverip:port
默认端口为8000,可以修改。pythonmanage.pyrunserver8080
Admin站点管理
概述:负责添加、修改、删除内容,开发这些重复的功能是一件单调乏味,缺乏创造力的工作。为此,Django提供自动生成模块1.配置Admin:在setting.py文件中的INSTALLED_APPS添加'django.contrib.admin'
注意:默认已经配置,后面可以使用xadmin进行站点管理,和admin使用和思想基本一致。更多定制。
2.创建管理用户:pythonmanage.pycreatesuperuser
依次输入用户名,邮箱,密码
3.配置管理的数据表:将要管理的表添加到项目目录下的admin.py文件中注册
fromdjango.contribimportadmin
from.modelsimportGrades,Students
#Registeryourmodelshere.
admin.site.register(Grades)
admin.site.register(Students)
4.自定义管理界面:
1.ModelAdmin类是模型在Admin界面中的表现形式,通过ModelAdmin的子类,来定义模型在Admin界面的显示方式
classGradesAdmin(admin.ModelAdmin):
#列表项属性
list_display=["pk","gname","gdate","gboynum","ggirlnum","isDelete"]
list_filter=["gname"]
search_fields=["gname"]
#添加、修改属性界面
#fields=["gdate","gname"]
fieldsets=[
("base",{"fields":["gdate","gname"]}),
("more",{"fields":["gboynum","ggirlnum","isDelete"]}),
]
#分页
list_per_page=3
admin.site.register(Grades,GradesAdmin)
2.属性说明:
列表页属性
添加、修改页的属性
视图的基本使用
1.概述:在Django中,视图对应web请求进行回应,视图接收request对象作为第一个参数,包含了请求的信息,视图就是一个python函数,绑定在views.py中2.定义视图
fromdjango.httpimportHttpResponse
defindex(request):
returnHttpResponse("sunckisagoodman")
3.修改project目录下的urls.py文件
fromdjango.conf.urlsimporturl,include
fromdjango.contribimportadmin
urlpatterns=[
url(r'^admin/',admin.site.urls),
url(r'^',include('myApp.urls'))
]
在myApp目录下创建名为urls.py的文件
fromdjango.conf.urlsimporturl,include
fromdjango.contribimportadmin
from.importviews
urlpatterns=[
# 路由分发
url(r'^index/$',views.index),
url(r'^detail/$',views.detail),
]
模板的基本使用
1.概述:模板是html页面,可以根据视图中传递的数据而渲染2.创建模板:在工程目录下创建的templates目录,用来存放模板
注意:templates目录也可以放到项目目录中
3.配置setting.py文件中的TEMPLATES
TEMPLATES=[
{
'BACKEND':'django.template.backends.django.DjangoTemplates',
'DIRS':[os.path.join(BASE_DIR,"templates")],
4.定义模板
5.在view中使用模板:1.定义路由2.匹配路由url(r'^students/$',views.students)
相关文章推荐
- Django入门 -- 框架操作基本流程
- Git 的基本操作、开发流程、实用技巧总结(陈彦贝)
- Git 的基本操作、开发流程、实用技巧总结
- my project 中git使用过程(基本操作流程)
- mongodb 基本操作总结
- Git基本操作流程和常用命令
- 单链表的基本操作(读取、插入、删除)及优缺点总结
- Selenium2(WebDriver)总结(四)---基本元素操作
- git基本操作总结
- Java Jxl Excel 操作总结2(基本操作:创建工作薄,工作表,单元格等)
- IO流操作基本规律总结
- MySQL中对于索引的基本增删查改操作总结
- java数据库操作基本流程
- (总结)数据结构之链表的基本操作说明和示例(待补充)
- mysql学习总结一:mysql的安装,介绍,基本命令操作
- [cnblogs镜像]Github 团队协作基本流程与命令操作 图解git工作流程
- EMACS基本操作命令总结
- [Dynamic Language] Python Django: 基本操作
- 【总结】邻接矩阵 图的基本操作
- 浅谈spring,基本编程模式和实现原理,以及相关操作流程