新闻搜索功能实现 一.docker介绍 1.什么是docker? 使用容器让创建.部署.运行应用程序更简单的一个工具 让应用所需的库和依赖环境打包 有一点点像虚拟机 2.为什么使用docker? 3.docker vs vmware(or virtualbox)? 4.docker 架构 Docker platform Docker Engine a server process a client cli a rest api interface Docker architecture Dock…
新闻列表页功能 1.分析 业务处理流程: 判断前端传的标签分类id是否为空,是否为整数.是否超过范围 判断前端传的当前文章页数是否为空,是否为整数.是否超过范围 请求方法:GET url定义:/news/ 请求参数:url路径参数 参数 类型 前端是否必须传 描述 tag_id 整数 是 标签分类id page 整数 是 当前文章页数 向前端返回的数据格式为json格式,返回实例如下: { "data": { "total_pages": 61, "new…
登录,校验: 1,判断用户名输入是否为空, 2,判断用户名密码是否匹配, 3,记住我的功能,:将用户信息记到 session 中 请求方式: POST 在视图中: # 1,创建类# 2,获取前台参数# 3,校验参数# 4,用户登录,设置用户会话信息# 5,返回结果到前台 在主目录下的配置文件中,配置 redis ,存放图片验证码,短信验证码,用户 session 默认用 mysql 存放 # settings.py文件中加入如下内容: CACHES = { "default": { &…
前台代码 // 在static/js/news/index.js文件中 $(function () { // 新闻列表功能 let $newsLi = $(".news-nav ul li"); let iPage = 1; //默认第1页 let iTotalPage = 1; //默认总页数为1 let sCurrentTagId = 0; //默认分类标签为0 let bIsLoadData = true; // 是否正在向后台加载数据 // 加载新闻列表信息 fn_load_c…
一.分析静态页面   1.静态vs动态 条目 静态页面 动态页面 网站内容 固定不变 经常变动 浏览器加载速度 更快(无需向服务器发起请求) 更慢 改变网站内容 很难(修改或者创建新的html页面) 简单(数据库中添加数据即可) url文件拓展 .htm..html .php..asp..jsp..py 创建语言 HTML PHP.Java.Python   2.本次项目页面分析   a.本项目由5个模块组成分别为:news.course.doc.users.admin   b.在项目根目录下创…
把 视图传到前台的  JsonResponse(data=data) 先进行处理,之后再传到前台, 处理:引用自定义错误代码,把错误代码返回给前台,前台根据错误代码中文提示 class Code: OK = "0" DBERR = "4001" NODATA = "4002" DATAEXIST = "4003" DATAERR = "4004" METHERR = "4005" SMS…
在 user 的应用中的 models.py: 导入 dango 自带的用户模型 from django.contrib.auth.models import AbstractUser,UserManager as _UserManager 在主目录下的配置文件中加入: # 自定义用户模型AUTH_USER_MODEL = 'users.Users' 查看类的结构: 查看类的继承关系, 用户模型设计 : from django.db import models from django.contr…
创建一用户,授予对这个 myblog 库的所有表的权限(.*),在任何 ip 地址中访问(@“%”), 刷新: 退出,用新创建的用户登录,并进入这个库, 在昨天创建的项目中,配置文件中 为了数据库的案例,应该把用户,密码放入文件,在配置文件中引入 手动创建: 在settings.py文件中引入my.cnf文件 配置redis缓存 安装插件: pip install -i https://pypi.douban.com/simple django-redis # 在settings.py文件中指定…
d码云注册,登录, 创建项目: 生成秘钥 想看秘钥: 添加公钥 复制 ssh 连接 通过  git clone <ssh> 连接 在服务器上创建 python3 虚拟环境, 创建项目  pycharm  连接: 用命令创建项目 一.在码云平台创建项目   版本控制的种类: 主要使用github(最主流) 国内访问速度慢 托管私有项目收费 国内一般使用码云gitee 国内访问速度快 托管私有项目免费 公司中使用gitlab或者svn来搭建   创建步骤   ​ a.打开码云 ,注册登录   ​ …
docker 实例 :wq!保存退出 放入一个 html 文件 权限不够,加 sudo 查看本地仓库的 image 运行 docker -- name,后跟个运行名, -p 物理机端口映射到容器端口, -d 后台运行,后跟创建的 docker 名 访问网址 查看容器 删除 一个容器 rm 跟 id 查看 进入一个正在运行的 docker  中用 exec -it exit  退出 停止 一.文档下载功能 1.分析 业务处理流程: 判断前端传的文件id是否为空,对应的文件是否存在 请求方法:GET…
后端功能实现 文件,类,字段,命名不要改动, 在apps/news/search_indexes.py中创建如下类:(名称固定为search_indexes.py) # -*-# -*- coding: utf-8 -*- # 斌彬电脑 # @Time : 2018/10/12 0012 8:47 from haystack import indexes # from haystack import site from .models import News class NewsIndex(in…
d 发送短信验证码之前,后台要得到三个参数 : 1,用户手机吗,, 2,用户输入的图片验证文本, 3,前台的 uuid , 在60秒内是否有发送短信的记录 只有用户输入的手机号,文本信息与 uudi 的内容对的上,才能发送短信验证码, 在  verificatios 应用中创建的 forms.py 文件中 在 verificatios 应用中的视图文件中导入 forms.py 文件 在视图中设置短信过期时间 # 在verifications目录下的constants.py文件中定义如下常数:#…
判断手机号是否注册功能实现 1.分析 请求方法:GET url定义:/mobiles/(?P<mobile>1[3-9]\d{9})/ 请求参数:url路径参数 参数 类型 前端是否必须传 描述 mobile 字符串 是 用户输入的手机号 2.后端代码实现 # 在verifications目录下的views.py文件中定义如下类视图: class MobileView(View): """ 判断手机号是否存在 """ def get(…
1,用户名     是否已注册 2,手机号 是否被注册 3,图形验证码 4,短信验证码, 5,验证成功后,向后台提交数据:用户名,密码,手机号,短信验证 要写这五个视图, 获取图形验证码,请求方式:get 验证功能单独写在一个 app 中,便于调用 , 点住,拉进 apps 中 在主目录下的配置文件中对 这个 app 进行注册 在这个 app 中,定义个图形验证的类视图, 快速导入 view 用于生成图形验证码的实例 拷贝功能模块到指定目录下, 在视图中导入 用于生成图形验证码 pip inst…
安装 git sudo apt-get install git 查看版本信息: git --version 演示: 创建个项目 创建文件夹 如果要对这个文件夹进行版本控制 先进到这个文件夹中, 命令查询: git --help 创建个空的仓库:  git init ls -al 可以查看到隐藏文件 配置个人信息,便于在提交文件时在该文件中生成备注, 查看: more .git/config 写入个文件 查看:git status 这是个初次创建的文件,本地工作区的内容是做不到版本回退的, 把文件…
官方文档: https://docs.docker.com/install/linux/docker-ce/ubuntu/#set-up-the-repository 1,更新下sudo apt-get update 2,安装包以允许apt通过HTTPS使用存储库: sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common 3,添加Docker的官方GPG密钥:…
添加新闻评论功能 1.分析 业务处理流程: 判断前端传的新闻id是否为空,是否为整数.是否不存在 判断评论的内容是否为空 判断是否有父评论,父评论的id是否与新闻id匹配 判断用户是否登录 保存新闻评论 请求方法:POST url定义:'/news/<int:news_id>/comments/' 请求参数:url路径参数 参数 类型 前端是否必须传 描述 news_id 整数 是 新闻id content 字符串 是 新闻评论内容 parent_id 整数 否 父评论id 添加新闻评论功能是…
加载新闻评论功能 1.分析 业务处理流程: 判断前端传的新闻id是否为空,是否为整数.是否不存在 请求方法:GET url定义:'/news/<int:news_id>' 请求参数:url路径参数 参数 类型 前端是否必须传 描述 news_id 整数 是 新闻id 新闻详情页直接通过模版渲染的方式来实现,在新闻详情页直接渲染此新闻的评论信息. 后台代码:从数据库中取出评论,跟在新闻详情页后直接渲染, 所需要的字段:评论 id, 评论内容,评论者,评论时间 , 父级评论:同上字段 给数据库添加…
新建static/js/news/index.js文件 ,主要用于向后台发送请求, // 新建static/js/news/index.js文件 $(function () { // 新闻列表功能 let $newsLi = $(".news-nav ul li"); let iPage = 1; //默认第1页 let iTotalPage = 1; //默认总页数为1 let sCurrentTagId = 0; //默认分类标签为0 let bIsLoadData = true;…
从讲项目开始,查找错误,完善笔记,尽可能 翻译没一句代码(以后台为主), 本项目亮点,也是重点 Django ORM中对数据查询的优化(only.defer.select_related) redis缓存短信验证码.图片验证码.用户session 使用docker容器搭建数据集群负载均衡.读写分离 使用django缓存机制 User模型的拓展 数据库的设计能力 数据库的多表关联设计 数据库更新的优化 django信号机制使用 使用celery发送手机短信 自定义用户.用户组以及权限的管理 使用d…
index.html 首页 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/reset.css"> <!--引入本地--> <link rel…
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/reset.css"> <link rel="stylesheet&quo…
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/reset.css"> <link rel="stylesheet&quo…
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/reset.css"> <link rel="stylesheet&quo…
类的定义 共同属性,特征,方法者,可分为一类,并以名命之 class Abc: # class 定义类, 后面接类名 ( 规则 首字母大写 ) cls_name = '这个类的名字是Abc' # 在类里定义的变量 是 属性 print( Abc.cls_name ) Abc.binbin = '正在25班教室' # 可以通过 类名.属性名 = 属性值 给类添加属性 print( Abc.binbin ) ------>>>>> 这个类的名字是Abc 正在25班教室 类是一个独…
项目部署 稳定,并发,效益, 一.Django配置 1.settings.py配置 复制全局settings.py配置文件,创建一个副本命名为MyBlog/pro_settings.py,修改DEBUG为False. DEBUG = False 将不再提供静态文件服务 # 填写你自己的ip和域名ALLOWED_HOSTS = ["www.youkou.site", "39.108.191.165", "localhost", "127.…
在线课堂 一.数据库模型设计 # 在apps/course/models.py中定义如下模型: from django.db import models from utils.models import ModelBase class Teacher(ModelBase): name = models.CharField(max_length=150, verbose_name="讲师姓名", help_text='讲师姓名') positional_title = models.Ch…
u胎代码实现 : 针对每一个 app 写个 js 脚本, 先给 users 的 app 应用创建个 js:在指定目录下的 js 文件夹下,创建 users 文件夹,下创建 suth.js ,图片验证 // 预加载,html 加载完后再加载 , $(function () { let $img = $(".form-item.captcha-graph-img img"); //获取图像标签元素 let sImageCodeId = "" // uuid (小写 s…
一.Django 现状   1.Django开发前景   1.1 老师做过的项目   ​ 项目图展示:     1.2 Django的厉害之处 在python中,与web开发环境相关的包有13045个 django就占了9091个,大约70% 在python中,活跃的web框架多达54个,其中最活跃的有,Django,Flask,Pyramid,Zope 最受欢迎的就是Django,没有之一 超过5263个中大型网站使用Django开发   1.3 哪些公司在使用Django? 国内:豆瓣.知乎…