安装 git sudo apt-get install git 查看版本信息: git --version 演示: 创建个项目 创建文件夹 如果要对这个文件夹进行版本控制 先进到这个文件夹中, 命令查询: git --help 创建个空的仓库:  git init ls -al 可以查看到隐藏文件 配置个人信息,便于在提交文件时在该文件中生成备注, 查看: more .git/config 写入个文件 查看:git status 这是个初次创建的文件,本地工作区的内容是做不到版本回退的, 把文件…
tornado 相关说明 把图片显示在页面, 创建个 static 文件夹, 在这个文件下存放几张图片 在配置中指定静态文件路径, 在 html 文件中迭代出图片, 创建个包,重构 handlers 在里边创建个 main 文件 把三个页面的代码移到 main 文件中 Git 使用 使用参考文档 git 使用简易指南 在Pycharm中使用GitHub - 刘江liujiangblog.com - 博客园 Git - 起步 官方文档,详细. 忽略文件 .gitignore 初次运行配置用户信息(…
新闻列表页功能 1.分析 业务处理流程: 判断前端传的标签分类id是否为空,是否为整数.是否超过范围 判断前端传的当前文章页数是否为空,是否为整数.是否超过范围 请求方法:GET url定义:/news/ 请求参数:url路径参数 参数 类型 前端是否必须传 描述 tag_id 整数 是 标签分类id page 整数 是 当前文章页数 向前端返回的数据格式为json格式,返回实例如下: { "data": { "total_pages": 61, "new…
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? 国内:豆瓣.知乎…
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…
新闻搜索功能实现 一.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…
在进入轮播图管理页面时,要把轮播图显示在页面上,所以后台要向前台返回: 图片路由,:image_url 优先级: priority def get(self, request): # priority = models.Banner.PRI_CHOICEH # priority = tuple([models.Banner.PRI_CHOICEH]) # 优先级 以字典形式返回 OrderedDict 将元祖 转为有序的字典, priority = OrderedDict(models.Bann…
官方文档: 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文件中 $(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…
新建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;…
url 路由配置 这里的 name 由用户输入,得到参数 /<>/是获取用户输入值 这里的 name 默认接收的是 str 如果要接收 int 时: 当输入参数非数字时提示错误 最常用是 str 和 int 类型 虽然输入的是 123h 与 'h/'不符,但还 是能匹配到, 如果这样写时就与 path('h/‘,views.re_test) 以什么开关,以什么结尾, app 中的 url  (分路由) 在主路由中导入  include **kwargs 页面重定向: 页面跳转 导入  redi…
在虚拟机中创建虚拟环 mkvirtualenv -p /usr/bin/python3 djtest mkvirtualenv 是创建命令, -p /usr/bin/python3  是指定在 python3 中创建, djtest  是环境名字 workon 是查看, 进入虚拟环境,和接环虚拟环境 deactivate  退出虚拟环境 指定版本安装 输入 django-admin startproject hello_dj 在 pycharm  中创建项目: 创建同步目录 找到虚拟环境中的解释…
win 下安装 sclapy 先安装 pip install wheel py 库下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 在这个网址中下载  Scrapy  和  twisted ,pywin32 下载  twisted,在其所在文件夹十打开  cmd , pip install  安装 ,之后安装 Scrapy, 用这行命令 scrapy startproject pyjy 测试是否成功,如果 成功 在  C:\User…
一.分析静态页面   1.静态vs动态 条目 静态页面 动态页面 网站内容 固定不变 经常变动 浏览器加载速度 更快(无需向服务器发起请求) 更慢 改变网站内容 很难(修改或者创建新的html页面) 简单(数据库中添加数据即可) url文件拓展 .htm..html .php..asp..jsp..py 创建语言 HTML PHP.Java.Python   2.本次项目页面分析   a.本项目由5个模块组成分别为:news.course.doc.users.admin   b.在项目根目录下创…
从讲项目开始,查找错误,完善笔记,尽可能 翻译没一句代码(以后台为主), 本项目亮点,也是重点 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…
把 视图传到前台的  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文件中指定…