-->
THU SIGS Ph.D. student | 我们的征途是星辰大海
什么是模型模型是一个Python类,即class,它由django.db.models.Model所派生出来的子类一个模型类即代表了数据库中的一张数据表模型类的每一个类属性都代表数据表中的一个字段模型是数据交互的接口,是表示和操作数据库的方法和方式ORM框架定义ORM(Object Relational Mapping)即对象关系映射,它是一种程序技术,允许使用类和对象对数据库进行操作,从而避免通过SQL语句操作数据库。作用建立模型类与表之间的对应关系,允许我们通过面向对象的方式来操作数据库;根据设计的模型类生成数据库中的表格;通过简单的配置即可实现数据库的切换。优势只需要面向对象编程,不需要面向数据库编写代码对数据库的操作都转化成了对类属性和方法的操作;不用编写各种数据库的SQL语句。实现数据模型和数据库间的解耦,屏蔽了不同数据库操作上的差异不用关注如MySQL, Oracle等数据库的内部细节差异;通过简单的配置即可轻松更换数据库(修改引擎),不需要修改代码。劣势对于复杂业务的使用成本较高;本质是根据对象的操作转换成SQL语句,再根据查询的结果转换成对象,在映射过程中会有性能损失。
什么是应用应用在Django项目中是一个对立的业务模块,可以包含自己的路由、视图、模板、模型。例如某资讯类网站可以包含金融、体育、娱乐、时尚等多个板块的内容。创建方法用manage.py中的子命令startapp创建应用文件夹在settings.py的INSTALLED_APP列表中配置此应用分布式路由Django中,主路由配置文件urls.py可以不处理用户具体路由,主路由配置文件可以做请求的分发(分布式请求处理),具体的请求可以由各自的应用来进行处理。配置分布式路由在主路由中调用函数include('app名字.url模块名') 从而将当前路由转到各个应用的路由配置文件的urlpatterns进行分布式处理在应用下配置urls.py 在应用下手动创建urls.py文件,其内容结构与主路由完全相同应用下的模板在应用的内部,也可以配置模板目录,其步骤如下:在应用文件夹下手动创建templates文件夹在settings.py中开启应用模板功能,即将TEMPLATES配置项中的APP_DIRS配置为True即可当应用下和外部templates都存在时,django查找模板规则如下:优先查
静态文件配置在settings.py中配置静态文件的有关信息配置静态文件的访问路径STATIC_URL告诉服务器根据哪个url找到静态文件默认配置为STATIC_URL='/static/',该配置默认存在指定访问静态文件时需要通过路径/static/xxx/来访问配置静态文件的存储路径STATICFILES_DIRSSTATICFILES_DIRS是静态文件在服务器端的存储位置当访问静态文件的url被输入时,服务端到该路径下找对应的文件来展示静态文件访问在模板中访问静态文件通过{% static %}标签来访问静态文件,,以img为例,步骤如下:加载static:{% load static %}使用static资源:{% static '静态资源路径' %}样例:<img src="{% static 'images/111.png' %}>
采用书籍为蒲和平编《大学生数学竞赛教程》例30题目:讨论方程\(a^x=bx(a>1)\)的实根个数.分析:这是一道根情况讨论题,很明显可以移项后转化为某函数的零点讨论。再仔细一看发现该题类型并不少见,其实就是高中数学中压轴题里的常见类型,在高等数学中即是介值定理的应用。解答:令\(f(x)=a^x-bx\),则\(f'(x)=\ln{a}\cdot a^x-b\),在\(a>1\)的情况下,\(ln(a)a^x\)是始终大于零的,下面讨论b的情况.情况1:当\(b
代码中URL出现的位置Templates模板中(HTML中) <a href='url'>链接</a>点击后页面跳转至url <form action='url' method='post'>将form表单中的数据用post方法提交至url视图函数中的302跳转,即HttpResponseRedirect('url'),将用户地址栏中的地址跳转到url(重定向)URL的书写规范绝对地址:http://127.0.0.1:8000/page/1相对地址:第一种:'/page/1'以'/'开头的相对地址,浏览器会自动将当前地址栏中的协议、ip、端口加上这个地址,作为最终的访问地址。例如:当前页面地址栏为http://127.0.0.1:8000/page/3,则当前相对地址的最终结果会变为http://127.0.0.1:8000/page/1第二种:'page/1没有'/'开头的相对地址,浏览器会根据当前的url的最后一个/之前的内容加上该相对地址作为最终访问地址。例如:当前页面地址栏为http://127.0.0.1:8000/topic/detai
MVC模式MVC代表Model-View-Controller(模型-视图-控制器)模式。M-Model模型层,主要用于对数据库层的封装V-View视图层,用于向用户展示结果(What+How)C-Controller控制层,用于处理请求、获得数据、返回结果Django的MTV模式MTV代表Model-Template-View(模型-模板-视图)模式。M-Model模型层,负责与数据库交互T-Template模板层,负责呈现内容到浏览器(How)V-View视图层,负责接收请求、获取数据、返回结果(What)什么是模板模板是可以根据字典数据动态变化的Html网页模板可以根据视图中传递的字典数据动态生成对应的HTML页面Django中如何使用模板-初始化配置创建模板文件夹<项目名>/templates在settings.py中修改TEMPLATES配置项 a. BACKEND:指定模板引擎 b. DIR8:模板的搜索目录(可以是一个或者多个) c. APP_DIRS:是否要再应用中的templates文件夹中搜索模板文件 d. OPTIONS:有关模板的选项在配置项中设置D
什么是正则表达式正则表达式(Regular Expression,简写为regex、regexp或RE),是计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式的性质目的对于给定的正则表达式和一串字符串,我们可以实现:判断给定的字符串是否符合正则表达式的过滤逻辑(称为“匹配)通过正则表达式,从该字符串中获取我们想要的特定部分特点灵活性、逻辑性和功能性非常强;能够迅速地用极简单的方式达到对字符串的复杂控制;应用的对象是文本,因此具备普适性正则表达式符号正则表达式通常由一些普通字符(characters)和元字符(metacharacters)组成。前者包含数字和大小写字母,后者则具有特殊的含义。下表为常用元字符及其含义。元字符描述\将下一个字符标记为特殊字符、或原义字符、或向后引用、或八进制转义符。如\匹配\,\n匹配换行符,\n匹配字符\n^匹配输入字行首,匹配开始标记$匹配输入行尾,匹配结束标记*匹配前面的子表达式任意次,例如zo*匹配z及zo及zoo,等价于{0,}+匹配前面的子表达式≥1次,例如zo+匹配zo及zoo,等价于{1,}?匹配
学习HTTP协议的重要性无论是使用webservice,还是未来做大型架构,都离不开对http协议的认识与了解。HTTP原理什么是HTTP协议协议的定义:双方/多方都遵从的共同规范,这个规范即可称作协议。HTTP协议:按照一定规则,向服务器索要数据/发送数据,而服务器则按照一定的规则进行回应。HTTP信息格式请求请求行(包括请求方法、请求路径、所用协议及版本)e.g. GET /www/01.php HTTP/1.1请求头(格式为 key:value)e.g. Host:localhost--空行--请求主体(可以没有)请求方法GETPOSTHEADPUTDELETEOPTIONSTRACEPATCHHTTP优化HTTP协议与缓存控制HTTP协议与COOKIE
Bangyao Wang
不啻微芒,造炬成阳