博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django框架基础
阅读量:6256 次
发布时间:2019-06-22

本文共 2765 字,大约阅读时间需要 9 分钟。

Django框架简介

  MVC框架(Model View Controller)

  Django框架的设计模式借鉴了MVC框架的思想,不同之处在于它拆分的三部分为:Model(模型)、Template(模板)和View(视图),即MTV框架

  Django框架的MTC模式:

  Model(模型):负责业务对象与数据库的对象(ORM)

  Template(模版):负责如何把页面展示给用户

  View(视图):负责业务逻辑,并在适当的时候调用Model和Template

  此外,Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

APP

  一个Django项目可以分为很多个APP,用来隔离不同功能模块的代码

#使用命令行创建apppython manage.py startapp app01

  使用pycharm创建

  在下方弹出的命令窗口输入

startapp app01

路由系统

  URL配置就像Django所支撑网站的目录,它的本质是URL与要为该URL调用的视图函数之间的映射表

#基本格式from django.conf.urls import urlurlpatterns = [ url(正则表达式, views视图函数, 参数, 别名),]#参数说明#正则表达式:一个正则表达式字符串#views视图函数:一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串#参数:可选的要传递给视图函数的默认参数(字典形式)#别名:一个可选的name参数

视图系统

  一个视图函数(类),是一个简单的python函数(类),它接受web请求并且返回web响应

request对象

  Django使用请求和响应对象来通过系统传递状态

  当请求一个页面时,Django创建一个包含关于请求的元数据的HttpRequest对象。 然后Django加载适当的视图,将HttpRequest作为第一个参数传递给视图函数。每个视图负责返回一个HttpResponse对象

#请求相关的常用值path_info     返回用户访问url,不包括域名method        请求中使用的HTTP方法的字符串表示,全大写表示。GET           包含所有HTTP  GET参数的类字典对象POST          包含所有HTTP POST参数的类字典对象body          请求体,byte类型 request.POST的数据就是从body里面提取到的

response对象 

#属性HttpResponse.content:响应内容HttpResponse.charset:响应内容的编码HttpResponse.status_code:响应的状态码

Django shortcut functions

render()#结合一个给定的模板和一个给定的上下文字典,并返回一个渲染后的 HttpResponse 对象from django.shortcuts import renderdef my_view(request):    # 视图的代码写在这里    return render(request, 'index.html', {
'books': books})
redirect()#默认返回一个临时的重定向;传递permanent=True 可以返回一个永久的重定向def my_view(request):    #代码    return redirect('/login/')

模板系统

  变量相关的用{

{ }},逻辑相关的用{% %}

    
book_list
add
book_list
{% for book in books %}
{% endfor %}
# BookName Operation
{ { forloop.counter }} { { book.title }} edit delete
book_list.html
def book_list(request):    books = models.Book.objects.all()    return render(request, 'book_list.html', {
"books": books})
book_list.python

模型

  Django中使用ORM模式将程序中的对象自动持久化到关系数据库中

#创建modelsfrom django.db import models# Create your models here.class Book(models.Model):    id = models.AutoField(primary_key=True)    title = models.CharField(max_length=32)

  ORM操作

#增加数据models.Book.objects.create(title=book_name)#查询数据models.Book.objects.get(id=book_id)models.Book.objects.all()#修改数据new_title='xxx'obj=models.Book.objects.get(id=book_id)obj.title=new_titleobj.save()#删除数据models.Book.objects.get(id=delete_id).delete()

 

转载于:https://www.cnblogs.com/iamluoli/p/8745038.html

你可能感兴趣的文章
ActiveReport开发入门-图表的交互性
查看>>
iOS开发之遍历Model类的属性并完善使用Runtime给Model类赋值
查看>>
Echarts图表控件使用总结2(Line,Bar)—问题篇
查看>>
【转载】CString、BSTR和LPCTSTR之间的区别
查看>>
淘宝开放源码WebserverTengine基本安装步骤
查看>>
thinkphp达到UploadFile.class.php图片上传功能
查看>>
如何在windows server 2008上配置NLB群集
查看>>
.NET 下各种Resource的读取方式
查看>>
【jQuery】jQuery筛选器规则
查看>>
采用UltraISO制作U菜Win7安装盘,显现"File not find /BOOT/CDMENU.EZB.ezb"错误
查看>>
SSH深度历险记(八) 剖析SSH核心原则+Spring依赖注入的三种方式
查看>>
iOS富文本组件的实现—DTCoreText源码解析 数据篇
查看>>
java中注解的使用与实例(一)
查看>>
Alisha’s Party(队列)
查看>>
Cocos2d-x3.0游戏实例《不要救我》第十篇(结束)——使用Json配置数据类型的怪物...
查看>>
Textview 文本旋转,倾斜
查看>>
secureCRt中文乱码问题
查看>>
将List<Map>中的datas转换为json格式写入文件
查看>>
将 tomcat 安装成 windows 服务
查看>>
建立一个node.js服务器(使用express搭建第一个Web环境)
查看>>