day20 project+查看新闻列表 + 点赞 + 图片验证码 + 评论和多级评论 + 后台管理 + webSocket + kindEditor
Day20
回顾:
1. 请求生命周期
2. 中间件
md = [
"file_path.classname"
]
process_request【可有可无】 process_response【必须有】
process_request process_response
process_request process_response
process_request process_response
process_request process_response
路由->函数
3. 路由系统
a. /index/ -> func
b. /index/(\d+) -> func()
c. /prev/ -> include('xxx.urls')
d. /detail/ -> func n1
{% url n1 %}
reverse('n1')
4. 视图函数
a. FBV
def index(request):
request.POST
request.GET
request.method
request.FILES
request.body
request.COOKIE
request.session
request.path_info
request...
return render
return redirect
return HttpResponse
b. CBV
class Foo(view):
def dispatch
pass
def get
...
5. 模板引擎渲染
a. Django后台完成渲染所有工作
b. 字典,元组,列表: .
c. simple_tag
6. 数据库操作
pymysql
- 自己写SQL语句
ORM
- 类和对象完成数据库所有操作
- 创建类
- 单表
- 一对一
- 一对多
- 多对多
- 操作:
...
7. 分页
8. Ajax提交
$.ajax({
url:
type:
data:
dataType:
headers:
success:function(arg){
}
})
9. Django Form组件
class:
字典 = ()
obj = Foo(reqest.GET)
obj.is_valid()
10. 序列化
11. 其他:
csrf
缓存
信号
今日内容:
1. project
填充数据(admin):
admin.py
from repository import models
admin.site.register(models.UserInfo)
admin.site.register(models.Comment)
admin.site.register(models.Favor)
admin.site.register(models.News)
admin.site.register(models.NewsType)
创建用户
python manage.py createsuperuser
root
root!23456
浏览器:
http://127.0.0.1:8000/admin
admin中显示:
class News(models.Model):
nid = models.AutoField(primary_key=True)
user_info = models.ForeignKey('UserInfo')
class Meta:
verbose_name_plural = '新闻' # 表名称
def __str__(self):
return self.title # 行显示内容
验证码:
1. pip3 install Pillow
2. check_code.py 和 Monaco.ttf【项目跟目录】
3. <img src='/xxxxxx/'>
4.
def xxxxx(request):
img_obj, code = ac.create_validate_code()
stream = BytesIO()
img_obj.save(stream,'png')
request.session['check_code'] = code
return HttpResponse(stream.getvalue())
2. 查看新闻列表
3. 点赞
后端:
前端:
position: relative; absolute;
function ZMM(ths,txt) {
var fontSize = 5;
var left = 5;
var top = 5;
var opacity = 1;
var tag = document.createElement('span');
tag.innerHTML = txt;
tag.style.position = "absolute";
tag.style.fontSize = fontSize + 'px';
tag.style.left = left+ 'px';
tag.style.top = top+ 'px';
tag.style.opacity = opacity;
$(ths).append(tag);
var obj = setInterval(function () {
fontSize = fontSize + 5;
left = left + 5;
top = top - 5;
opacity = opacity - 0.1;
tag.style.fontSize = fontSize + 'px';
tag.style.left = left+ 'px';
tag.style.top = top+ 'px';
tag.style.opacity = opacity;
if(left > 60){
clearInterval(obj);
tag.remove();
}
},100);
}
4. 图片验证码
5. 评论和多级评论(**********)
a. 结构化数据
b. 递归生成HTML
7. 后台管理
- 简单菜单(适用于固定个数菜单)
- 动态菜单
当前URL: /backend/host/
a. 结构化数据
b. 递归生成HTML
6. WebSocket
http://www.cnblogs.com/wupeiqi/p/6558766.html
8. KindEditor[插件] ---- 欠
参考链接:http://www.cnblogs.com/wupeiqi/articles/6307554.html
- 高度宽度
- item
-
uploadJson: '/kind/upload_img/',
extraFileUploadParams: {
'csrfmiddlewaretoken': '{{ csrf_token }}'
},
filePostName:'fafafa'
def upload_img(request):
"""
文件上传
:param request:
:return:
"""
obj = request.FILES.get('fafafa')
dic = {
'error': 0,
'url': '/static/imgs/20130809170025.png',
'message': '错误了...'
}
return HttpResponse(json.dumps(dic))
作业:整理今天
下周内容:
1. Alex,
协同开发GitHub
celery
等
day20 project+查看新闻列表 + 点赞 + 图片验证码 + 评论和多级评论 + 后台管理 + webSocket + kindEditor的更多相关文章
- Django 六——自定义标签、图片验证码、发送邮件、评论树、组合搜索
1.自定义标签 2.图片验证码 3.生成邮箱验证码.发送邮件 4.评论树实现 5.组合搜索(Q) 1.自定义标签 配置: a.在app中新建文件夹 templatetags,里面新建 xx.py文 ...
- JQuery实现页面企业广告图片切换和新闻列表滚动效果
最近用到一个页面上图片左右切换和新闻列表滚动呈现的效果,整理如下: 前段代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit ...
- django文件上传、图片验证码、抽屉数据库设计
1.Django文件上传之Form方式 settings.py, ALLOWED_HOSTS = ['*'] INSTALLED_APPS = [ 'django.contrib.admin', 'd ...
- 字符型图片验证码识别完整过程及Python实现
字符型图片验证码识别完整过程及Python实现 1 摘要 验证码是目前互联网上非常常见也是非常重要的一个事物,充当着很多系统的 防火墙 功能,但是随时OCR技术的发展,验证码暴露出来的安全问题也越 ...
- python随机图片验证码的生成
Python生成随机验证码,需要使用PIL模块. 安装: 1 pip3 install pillow 基本使用 1. 创建图片 1 2 3 4 5 6 7 8 9 from PIL import Im ...
- 怎样用Java自制优秀的图片验证码?这样!
Completely Automated Public Turing test to tell Computers and Humans Apart 全自动区分计算机和人类的图灵测试 简称CAPTCH ...
- JMeter开发插件——图片验证码识别
我们在性能测试中总会时不时地遭遇到来自于应用系统的各种阻碍,图片验证码就是一类最常见的束缚,登录或交易时需要按照图片中的内容输入正确的验证信息后,数据才可以提交成功,这使得许多性能测试工具只能望而却步 ...
- 字符识别Python实现 图片验证码识别
字符型图片验证码识别完整过程及Python实现 1 摘要 验证码是目前互联网上非常常见也是非常重要的一个事物,充当着很多系统的 防火墙 功能,但是随时OCR技术的发展,验证码暴露出来的安全问题也越 ...
- vue ui九宫格、底部导航、新闻列表、跨域访问
一. 九宫格 九宫格:在mint-ui组件库基于vue框架 mui不是基于vue框架 只是css/js文件 (1)官方网站下载安装包 (2)copy css js fonts[字体图标] src/l ...
随机推荐
- The Cheap KD 10 design is not too far of a departure
Kevin Durant's Cheap KD 10 have to do with to determine the greatest spotlight they have seen around ...
- 函数对象[条款18]---《C++必知必会》
有时需要一些行为类似于函数指针的东西,但函数指针显得笨拙.危险而且过时(让我们承认这一点).通常最佳方式是使用函数对象(function object)取代函数指针. 与智能指针一样,函数对象也是一个 ...
- Linux系统基础命令总结
一.帮助命令(1)helpxxxx --helphelp xxxx(2)manman xxxx二.ls查看命令:列表显示目录内的文件及目录ls 参数-l 以列表的形式显示-d 显示目录本身属性-a显示 ...
- windows 下安装 rabbitmq报init terminating in do_boot错误
好长时间没有写东西了,记一个安装笔记吧. 目前市面上比较常用的几个消息中间件,rabbitmq算是风评比较好的,所以就拿来安装一下玩玩喽(很有可能也仅限于是安装一下....)安装过程不表,无非是下载E ...
- Http协议面试题
1.说一下什么是Http协议? 对器客户端和 服务器端之间数据传输的格式规范,格式简称为“超文本传输协议”. 2.什么是Http协议无状态协议?怎么解决Http协议无状态协议?(曾经去某创业公司问到) ...
- ELK日志系统
ELK stack是又Elasticsearch,lostash,kibana 三个开源软件的组合而成,形成一款强大的实时日志收集分析展示系统. Logstash:日志收集工具,可以从本地磁盘,网络服 ...
- a=b=c 连等赋值的分析
首先 先抛出两个例子,大家想想结果是什么? eg1: var a = 1; var b = a; a.x = a = 3; 问 a = ? | b = ? | a.x = ? eg2: var ...
- Ubuntu16.04安装和卸载MySQL 5.7
介绍: MySQL 是一种开源数据库管理系统,通常作为流行的LAMP(Linux,Apache,MySQL,PHP / Python / Perl)堆栈的一部分安装.它使用关系数据库和SQL(结构化查 ...
- Python3.x:SQLAlchemy操作数据库
Python3.x:SQLAlchemy操作数据库 前言 SQLAlchemy是一个ORM框架(Object Rational Mapping,对象关系映射),它可以帮助我们更加优雅.更加高效的实现数 ...
- 20145321 《Java程序设计》第10周学习总结
20145321 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程:网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输. IP地址:为了能够方便的识别网络上 ...