Django请求周期 url ->  路由系统  ->函数或者类 -> 返回字符串 或者 模板语言 Form表单提交: 点击提交 -> 进入url系统  ->  执行函数或者类的方法 - > 返回字符串 ajax提交: 路由url 1.path('index/', views.index),一个url对应一个函数 2.path('home/', views.Home.as_view()),一个url对应一个类 3.url(r'^detail-(\d+).html',vi…
一.ORM增加 from django.db import models class Publisher(models.Model): name = models.CharField(max_length=30, verbose_name="名称") address = models.CharField("地址", max_length=50) city = models.CharField('城市',max_length=60) state_province =…
1.后台管理的左侧菜单,默认只有第一个页签下面的选项是显示的,点了别的页签再显示别的页签下面的选项,问题是:点了任何菜单的选项后,左侧菜单又成了第一个页签的选项显示,别的页签隐藏,也就是左侧的菜单刷新了一遍. 2.登录页面,用户输入了用户名和密码,点了登录,如果输入的是错误的,则当前页面会刷新一遍(提交后就会刷新),用户已经输入的内容就全没有了:这需要用到ajax实现静默提交. 3.登录网址是login.html,后台管理网址是index.html,如果用户不进入login.html而直接进入i…
路由层之路由匹配 """路由你可以看成就是出去ip和port之后的地址""" url()方法 1.第一个参数其实是一个正则表达式 2.一旦第一个参数匹配到了内容直接结束匹配 执行对应的视图函数 url(r'^test/$',views.test), 无名分组 url(r'^test/\d+/$',views.test), # 正则表达式分组:给正则表达式前后加一个小括号 url(r'^test/(\d+)/$',views.test), &quo…
在Django学习(一)一首情诗中,views.py中HTML被直接硬编码在代码之中,虽然这样便于解释视图是如何工作的,但直接将HTML硬编码到视图却不算一个好主意.因为: 对页面设计进行的任何改变都必须对Python代码进行相应的修改,而站点设计的修改往往比底层Python代码的修改要频繁得多. Python代码编写和HTML设计是两项不同的工作,大多数专业的网站开发环境都将它们分配给不同的人员来完成. 程序员编写Python代码和设计人员制作模板两项工作同时进行的效率是最高的,远胜于让一个人…
Django限制请求method 常用的请求method GET请求 GET请求一般用来向服务器索取数据,但不会向服务器提交数据,不会对服务器的状态进行更改.比如向服务器获取某篇文章的详情. POST请求 POST请求一般是用来向服务器提交数据,会对服务器的状态进行更改.比如提交一篇文章给服务器. 限制请求装饰器 Django内置的视图装饰器可以给视图提供一些限制.比如这个视图只能通过GET的method访问等.以下将介绍一些常用的内置视图装饰器. 1.django.http.decorator…
请求解析一般都是通过请求的request获取一定参数,然后根据参数做一定业务逻辑判断,这其中可能包括查询数据库,然后将需要返回的数据封装成一个HttpResponse返回. 代码如下: 这是一个简单的处理请求的函数,对应之前url映射的  url(r'^articles/([0-9]{4})/$', views.year_archive),django会将url中用()包起来的内容作为变量传给函数,此处year_archive中的year变量就是([0-9]{4})代表的值. Article.o…
模型的操作 在ORM框架中,所有模型相关的操作,比如添加/删除等.其实都是映射到数据库中一条数据的操作.因此模型操作也就是数据库表中数据的操作. 添加模型 添加模型到数据库中.首先需要创建一个模型.创建模型的方式很简单,就跟创建普通的Python对象是一摸一样的.在创建完模型之后,需要调用模型的save方法,这样Django会自动的将这个模型转换成sql语句,然后存储到数据库中.示例代码如下: class Book(models.Model): name = models.CharField(m…
前面提到的问题中在表格中显示多个待办事项 是最后一个容易解决的问题.要编写一个新单元测试,检查模板是否也能显示多个待办事项: lists/tests.py def test_displays_all_list_items(self): Item.objects.create(text='itemey 1') Item.objects.create(text='itemey 2') response = self.client.get('/') self.assertIn('itemey 1',…
--------------------------------------------------------------通过苦难,走向欢乐.——贝多芬 Django-2的路由层(URLconf)   URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行. 简单的路由配置 from django.urls import path,re_pa…