一、前情回顾 在前面,我们完成了Django Blog博客删除博客功能实现,这一节我们讲下如何优化博客删除功能。...,显示博客详情 Django Blog|07 引入Bootstrap前端框架,优化页面 Django Blog|08 添加编写+发布博客功能 Django Blog | 09 这么简单!...在Bootstrap官网教程的Components中有一个Modal,就表示的动态弹框,我们选择Live demo,复制好里面的内容。...,从上一节的跳转页面删除,变成了弹框删除,效果如下: 删除博客弹框模式演示 踩坑 替换成Bootstrap的弹框模块Live demo后,点击删除按钮无法弹出弹框?...,raphael.js是一个可以渲染可缩放矢量图形 (SVG) 的js库,这个被引入本来是django-mdeditor中渲染md内容用的,暂时不知道为什么会和Bootstrap的modal冲突,按上面修改就可以解决问题
Django 的官方网站(https://www.djangoproject.com/)上显示,撰写本节内容时所发布的最新版是 Django 3.2.5 ,此前 Django 有过 2.x 和 1.x.../mysite 目录结构相比较,这里多了一个文件 db.sqlite3 ,这个文件就是12.2.2节所介绍过的 SQLite 数据库文件,Django 默认使用此类型的数据库,本节的浮光掠影地演示中,也使用这个数据库.../book/views.py 文件,编写一个能够从数据库中已存储的文章标题的函数——在 Django 中称之为视图函数。...图12-3-7 显示文章标题的界面 12.3.6 查看文章内容 每一篇文章,在数据库中都会有唯一的 id,因此可以通过文章 id 从数据库中读出该文章,并显示与网页上。...动态网站(本节所演示的就是一个动态网站)还必须配备数据库,常用的关系型数据库,如 PostgreSQL、MySQL 等。非关系型数据库近年也开始在网站中使用,比如 MongoDB 等。
(max_length=32) 同步到数据库,并加几条测试数据 在测试文件中试 只要是choice字段,在获取数字对应的注释,固定语法: get_choices字段名_display(),存没有罗列的数字...Javascript 操作比较繁琐,我们这里为了方便使用,直接上手 jQuery 的 ajax Ajax 最大的优点:在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。...(这一特点给用户的感觉是在不知不觉中完成请求和相应过程) 用 Ajax 做一个小案例 页面上有三个 input 框,在前两个 input 框中输入数字,点击按钮发送 ajax 请求,在不刷新页面的情况下...动态解析页面上引入对应的内容:jq、bootstrap(css/js)、sweetalert(css/js)(我们用的依赖于bootstrap) 下面的按钮还没写好,还要绑定 id 等 ?...cancelButtonText 修改取消文本(自己加的) 给按钮添加自定义属性,绑定 user_id,弹窗确认删除那里写 ajax 获取到 user_id 发 ajax 过去 <!
然后,你通过使用外键将数据关联到特定用户,还学习了如何执行要求指定默 认数据的数据库迁移。 最后,你学习了如何修改视图函数,让用户只能看到属于他的数据。...在本节中,我将简要地介绍应用程序django-bootstrap3,并演示如何将其继承到项目中,为 部署项目做好准备。...HTML文件的头部不包含任何内容:它只是将正确显示页面所需 的信息告诉浏览器。在5处,我们包含了一个title元素,在浏览器中打开网站“学习笔记”的 页面时,浏览器的标题栏将显示该元素的内容。...在6处,我们使用了django-bootstrap3的一个自定义模板标签,它让Django包含所有的 Bootstrap样式文件。...如果用户单击这个按钮,将出现一个下拉列表,其中包含所有的导航元素。在用户缩小 浏览器窗口或在屏幕较小的移动设备上显示网站时,collapse会使导航栏折叠起来。
要想使用也是很简单的,只需要下载其中的bootstrap.css或者bootstrap.min.css并覆盖到自己项目的对应文件就行了。...如果你想动态切换的话,现在提供的思路是: 用JavaScript写一个函数响应页面上一个按钮的点击,这个函数主要是获取页面导入css的链接 标签,修改它的 href值就行了。...下面的代码来自Django,在HTML页面上的一些语法和大家常见的JavaEE不大相同,但本文涉及的内容只和JavaScript和Bootstrap有关,无需在意哈。...但我要说一下我Django网站上各页面都有的一个特点,那就是每个HTML页面都继承于或被包含于一个基础页面,这样的话,便只需要修改基础页面的css或js就行了,相信JavaEE那边也是这样做的。...网页上涉及到的代码 (代码若显示不全,请向左滑动) <link rel="stylesheet" href="{% static '<em>bootstrap</em>4.0.0/css/<em>bootstrap</em>.min.css
最终,我们的 HTML 模板中的内容字符串被传递给 HttpResponse 对象并返回给浏览器(Django 在 render 函数里隐式地帮我们完成了这个过程),这样用户的浏览器上便显示出了我们写的...这里面包裹的内容显示的就是文章数据了。我们前面在视图函数 index 里给模板传了一个 post_list 变量,它里面包含着从数据库中取出的文章列表数据。...好吧,做了这么多工作,但是数据库中其实还没有任何数据呀!接下来我们就实际写几篇文章保存到数据库里,看看显示的效果究竟如何。 ...如果数据库中还没有分类,在选择分类时点击 Category 后面的 + 按钮新增一个分类即可。 ...,也就是数据库中 Post 记录的 id 值。
其他例子(转载) 以下内容转载自Django基础之ajax django+ajax基础使用 模版页面 index.html <button...).ajax,或者$.post表示post请求 id=”tn” 对应着js中获取的参数名称$(“#tn”) id=”formquery” 对应着按钮事件所对应的js的函数名称 id=’result’ 对应着结果返回到哪个位置...而按钮加载过渡的意思,就是当你点击按钮后,按钮字体内容变为“加载中”,等到ajax返回内容后再恢复,这样会使体验更好。...+列表字典返回 ajax返回的内容是json格式的列表或者字典时,该如何渲染到页面?..."> # 显示内容的地方 # 点击按钮事情时,发送ajax请求js $(document).ready(function(){ $('#formquery
Django内置的邮箱类型,并且唯一; 性别使用了一个choice,只能选择男或者女,默认为男; 使用__str__帮助人性化显示对象信息; 元数据里定义用户按创建时间的反序排列,也就是最近的最先显示;...6.2.数据验证 通过唯一的用户名,使用Django的ORM去数据库中查询用户数据,如果有匹配项,则进行密码对比,如果没有匹配项,说明用户名不存在。如果密码对比错误,说明密码不正确。...在Django中实现图片验证码功能非常简单,有现成的第三方库可以使用,我们不必自己开发(也要能开发得出来,囧)。这个库叫做django-simple-captcha。...-- /.container-fluid --> 通过if判断,当登录时,显示当前用户名和登出按钮。未登录时,显示登录和注册按钮。...看一下注册的页面: 注册成功在admin后台可以看到注册的用户 10.4.密码加密 用户注册的密码应该加密才对 对于如何加密密码,有很多不同的途径,其安全程度也高低不等。
Django内置的邮箱类型,并且唯一; 性别使用了一个choice,只能选择男或者女,默认为男; 使用__str__帮助人性化显示对象信息; 元数据里定义用户按创建时间的反序排列,也就是最近的最先显示;...在Bootstrap文档中,为我们提供了一个非常简单而又实用的基本模板,代码如下: <!...6.2.数据验证 通过唯一的用户名,使用Django的ORM去数据库中查询用户数据,如果有匹配项,则进行密码对比,如果没有匹配项,说明用户名不存在。如果密码对比错误,说明密码不正确。...在Django中实现图片验证码功能非常简单,有现成的第三方库可以使用,我们不必自己开发(也要能开发得出来,囧)。这个库叫做django-simple-captcha。...-- /.container-fluid --> 通过if判断,当登录时,显示当前用户名和登出按钮。未登录时,显示登录和注册按钮。
本文将详细介绍如何使用Django、RestFul API和Bootstrap实现一个可折叠的多级菜单功能,并在菜单末端节点上添加复选框,点击按钮时获取这些节点的ID并查询其内容。...三、前端实现前端部分将使用Bootstrap和jQuery来创建可折叠的多级菜单,并在末端节点添加复选框,点击按钮时获取这些节点的ID并查询其内容。1....添加复选框和按钮功能在叶子节点的文本中添加复选框,并在按钮点击时获取选中的节点ID,发送请求到后端获取内容数据,并在页面上显示。...Django、RestFul API和Bootstrap的多级菜单功能,并且在菜单末端节点上添加了复选框,点击按钮时可以获取选中的节点ID,并查询其内容。...在叶子节点的文本中添加复选框。实现按钮点击事件,获取选中的节点ID,并查询内容。后续扩展:在本教程的基础上,你可以进一步扩展和优化以下功能:为菜单项添加更多自定义图标和样式。
那么 Django 是如何加载 html 网页的呢?...在 TEMPLATES 列表字典的DIRS属性下添加一下内容: os.path.join(BASE_DIR, 'templates') # 如果缺少os模块记得导入 render_to_string...使用 render 加载 html 这里我们需要从django.shortcut导入 render 模块,一般情况下 Django 会默认导入这个模块,views 中如果没有的话就手动导入一下: from...如果我们只遵循 HTML 的规范去加载静态文件,在 Django 中是显示不出来的。 ? 2....当点击按钮时,会弹出提示表示登录成功。 这里简单说明一下: 界面采用了 Bootstrap 框架,登录按钮的功能函数用了 jQuery 脚本。关于前端的知识我们这里就不做过多介绍了。
_init__.py文件中添加: 1 2 import pymysql pymysql.install_as_MySQLdb() 1.3、在app应用目录中的models.py文件中添加生成数据库表格字段的语句内容...1.4.1、记录数据库中变动记录的文件: 1.5、查看数据库中表是否创建完成,字段是否正确: 2.1、设置静态文件 html页面引入外部资源的两种方式 通过cdn方式在线获取 使用本地static目录中存放的外部资源... {{ foo.pk }} #pk显示的是数据库的主键...=1).delete() # 会将queryset所有的数据对象全部删除 六、编辑数据,在编辑模块中需要用到之前数据中的主键,通过查看数据页面中编辑按钮,把主键参数传递过来 1 2 3 4 5 6...=request.POST.get('edit_id') #这里的id主键通过查看数据页面中编辑按钮传递过来 # 更新数据库 models.User.objects.filter
但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。...它们各自的职责如下: 层次职责 模型(Model),即数据存取层模型(Model),即数据存取层 模板(Template),即表现层处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。...这里我使用的是pycharm 新建django项目 ?...说白了,其实就是将数据库中的数据导出为sql语句来进行sql操作。而对于django而言,强大之处就在于在通过迁移命令执行数据库迁移后,生成迁移sql语句脚本进行相应的数据库操作。...[模块名] 这样就生成了迁移文件,在相对应的项目应用中可以看到migrations文件夹下,生成一个新的以数字打头的迁移文件。
静态文件:写好的文件不会动态改变的文件资源,比如CSS文件,Js文件,图片文件,第三方框架等····· 墨守成规的将这些文件放在自创static文件夹中,在静态文件夹中创建CSS、JS、img、others...文件下的文件都可以通过路径来访问到,eg:127.0.0.1:8000/static/a.txt ps:如果Django主页面不能访问了,在urls.py文件中写一个默认的对应关系补充 静态文件配置及访问顺序...(BASE_DIR,'static1'), os.path.join(BASE_DIR,'static2'), ] 动态解析 涉及到接口前缀的修改繁琐的问题,那么现在使用动态解析的语法来实现,...# 在获取用户多选或者提交的信息是多条,返回在一个列表内如何获取用户数据呢?...MySQL Django默认使用的数据库是sqlite3,这里介绍如何使用Django连接MySQL数据库 1、修改配置文件 # 默认的情况settings.py文件 DATABASES = {
在Django中Python被普遍使用,甚至包括配置文件和数据模型。 -----维基百科 Django是一个开放源代码的Web应用框架,由Python写成。...forms.py 表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。...templates 文件夹 views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。...第二行引入HttpResponse,它是用来向网页返回内容的,就像Python中的 print 一样,只不过 HttpResponse 是把内容显示到网页上。...下修改: (2)在analysis/models.py下设计数据库表,采用ORM方式 (3) 在analysis/admin.py中定义显示数据 (4)创建更改的文件,将生成的py文件应用到数据库 (5
分页经常在网站上随处可见,它大概是这样子: 点击查看大图 这样的实现不仅提高了用户体验,还是减轻数据库读取数据的压力。Django 自带名为 Paginator 的分页工具, 方便我们实现分页功能。...本文就讲解如何使用 Paginator 实现分页功能。 1 Paginator Paginator 类的作用是将我们需要分页的数据分割成若干份。...3 运用 下面是自己编写的 demo 程序,介绍 Paginator 和 Page 如何一起使用。...当拿到视图传递过来的 books(books 是一个 Page 对象), 就在 for 循环中打印数据。最后使用 books 根据页面情况展示上一页按钮,当前页数,总页数,下一页按钮。...#} {# 这里使用 bootstrap 渲染页面 #}
,放置到 static 文件夹中,方便我们以后使用离线文件可以自己去官网下载,也可以拿我这里已经下载好的,我将其放在网盘中,需要可自行下载,其中包含: js、bootstrap、font-awesome...前端页面中,注册和登录的页面基本相似,我们可以让这两个页面都继承自母版,做到代码重用 在 web 下创建一个 templates 文件夹,在 templates 文件夹下再创建一个 layout 文件夹放我们的母版文件...验证码获取 3.1 思路 给获取验证码按钮绑定事件,在前端页面中,用户点击获取验证码后,通过腾讯云短信向用户手机号发送验证码,并且在页面上显示60s倒计时,向后端发送ajax请求 后端进行手机号校验(判断手机号是否已经注册过...& AppKey 短信签名内容就是在创建签名后显示的那个内容,比如我这个是 小小猿若尘 ,如下 [watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5MzM5NDY3...local_settings.py 文件,项目实际上使用的是 local_settings.py 文件中的配置,这里写只是为了声明一下,因为我们的 local_settings.py 文件是不会给别人的
然后点击下拉的 Run manage.py Task按钮,在命令行中输入:runserver再回车: 在浏览器地址栏中输入http://127.0.0.1:8000/admin出现: 恭喜你...注册超级管理员 先点击菜单下的Tools按钮 ,然后点击下拉的 Run manage.py Task按钮,在命令行中输入 createsuperuser 然后系统会提示你输入以下信息:Username...Xadmin使用Bootstrap3.0框架精心打造。基于Bootstrap3,Xadmin天生就支持在多种屏幕上无缝浏览,并完全支持Bootstrap主题模板,让您的管理后台也动感、多样起来。...Xadmin的使用介绍 正如前面你所知道的,Xadmin是基于Django的admin来开发的,所以Xadmin也继承了许多admin的用法,下面就分别介绍一下它们的使用情况: 因为我们之前在admin...我们现在尝试添加一个邮箱验证码,点击右侧的增加邮箱验证码按钮,输入相关信息,可以看到添加成功了: 接下来,我们看一下右侧的显示列,点击一下: 里面可以选择显示的内容,我们现在想在刚才的页面同时显示这些全部信息
”: 2,”rows”: [{“id”: 0,”name”: “Item 0”,”price”: “$0”},] columns: table表格中显示的字段和名称 queryParams:查询的时候,...//请求方式(*) cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) pagination.../是否显示刷新按钮 minimumCountColumns: 2, //最少允许的列数 //height: 500,...//行高,如果没有设置height属性,表格自动根据记录条数决定表格高度 showToggle: true, //是否显示详细视图和列表视图的切换按钮...对应table表格上的新增/修改/删除 <button id="btn_add" type="button"
Django内置的邮箱类型,并且唯一; 性别使用了一个choice,只能选择男或者女,默认为男; 使用__str__帮助人性化显示对象信息; 元数据里定义用户按创建时间的反序排列,也就是最近的最先显示;...5.2.引入Bootstrap 下载生产环境下的bootstrap,在项目根目录(manage.py同级)下新建一个static目录,并将解压后的bootstrap-3.3.7-dist目录,整体拷贝到...-- /.container-fluid --> 通过if判断,当登录时,显示当前用户名和登出按钮。未登录时,显示登录和注册按钮。...看一下注册的页面: 注册成功在admin后台可以看到注册的用户 10.4.密码加密 用户注册的密码应该加密才对 对于如何加密密码,有很多不同的途径,其安全程度也高低不等。...下面就让我们先看看如何在Django中发送邮件吧。 11.1.在Django中发送邮件 其实在Python中已经内置了一个smtp邮件发送模块,Django在此基础上进行了简单地封装。
领取专属 10元无门槛券
手把手带您无忧上云