- 博客(49)
- 收藏
- 关注
原创 Python collections模块中的namedtuple
普通的tuple只能通过下标来访问,可读性较差,而通过namedtuple,我们可以实现给tuple以及tuple内的元素起名,让tuple可读性更强。namedtuple对象定义的格式:collections.namedtuple(typename, field_names, verbose=False, rename=False) 其中:typename:元组名称field_names:元组中元素的名称rename: 如果元素名称中含有 python 的关键字,则必须设置为 rename=
2021-11-21 16:44:55
427
原创 Python中初始化一个二维数组及注意事项
Python在初始化二维数组的时候还是有一些坑的,主要是要避免可变元素的传递改变问题:array = [0, 0, 0]matrix = [array] * 3matrix[0][0] = 1print(matrix)>>>[[1, 0, 0], [1, 0, 0], [1, 0, 0]]如果用上面这种方式初始化数组,实际上并不是创建了一个新的二维数组,而是创建了三个指向array的引用。因此,如果改变array的话,这三个就会同步随之改变。那么如何正确初始化一个二维数组
2021-11-20 21:04:05
1850
原创 Django项目练习(七)——自制视频上传&转码&存入七牛云
自制视频功能开发自制视频功能开发需求ffmpeg知识一、把视频传到后台二、视频转码(容器转换)自制视频功能开发需求1、视频文件上传:从前端把视频文件上传到后台服务器;2、视频文件转码:后台服务器把视频文件转码。ffmpeg的使用(容器的更换)3、七牛云存储的使用 以及七牛云sdk的使用:视频处理完后,存到七牛云,用七牛云的SDK进行开发,把视频上传上去。4、异步队列服务器celery的使用 + redisffmpeg知识ffmpeg是一个对音视频进行处理的命令行工具,由C开发。ffmpeg -
2021-11-19 13:31:09
2214
原创 Django项目练习(七)——视频页面重构&添加集数&编辑功能&删除功能
视频页面功能重构视频页面功能重构一、增加添加集数功能二、视频集数编辑功能开发三、视频删除功能开发四、外链视频页面编辑功能开发五、视频状态功能开发视频页面功能重构1、当前的地址添加以及集数生成都是自增的,如果删除url的话,id会很混乱,针对这点进行修改。2、美化视频功能页面。当前页面,还比较丑陋。。一、增加添加集数功能在前端增加添加集数的input<form class="form-horizontal edit-area add-video-area add-url" method=
2021-11-18 19:00:38
718
原创 Django项目练习(六)——视频页面功能开发
一、视频页面功能开发在app文件夹的views文件夹中,创建一个video文件。再在templates文件夹下的dashboard文件夹下建一个video文件夹,方video页面。video.py中# coding:utf-8from django.shortcuts import redirect, reversefrom django.views import Viewfrom app.libs.base_render import render_to_response # mako的r
2021-11-17 22:13:21
1324
原创 Django项目练习(五)——用户表开发&视频表结构开发
用户相关开发,客户端表结构开发一、用户表开发在app里面新建一个model包,用于放数据库相关的文件,然后在里面新建一个auth的py文件。model中的auth文件下,我们创建一个clientUser,用户表:# coding:utf-8import hashlib # 用于给密码加密from django.db import models# 密码加密def hash_password(password): if isinstance(password, str):
2021-11-17 14:21:53
1051
原创 Django项目练习(四)——登录验证装饰器开发&以及登录后自动跳转
任务1、登录验证装饰器的开发:之前在进入页面时,并没有对是否登录进行验证,之后每一个功能开发,都要验证是否登录。2、客户端用户表结构创建以及基本方法的初始化(只开发并不测试,在开发客户端时一并进行测试)3、视频表结构的搭建,以及外链视频功能的开发。一、登录验证装饰器当前,我们未登录,但是依旧可以进入管理员页面,这是我们不希望的,必须是注册的、登录的,是管理员的用户才可进入。先在app目录里创建一个utils的Python包,然后在里面新建一个permission的py文件,里面专门用来验证#
2021-11-17 00:51:47
496
原创 Django项目练习(三)——制作管理员页面&管理员权限变更&页面分页
一、制作管理员专属页面1、管理员类定义,管理员点击跳转给管理员做一个单的的页面,要把所有管理员拿出来。在auth py文件中定义一个管理员类:# 管理员用户class AdminManger(View): TEMPLATE = 'dashboard/auth/admin.html' def get(self, request): return render_to_response(request, self.TEMPLATE)然后配置urlsfrom .v
2021-11-17 00:07:41
1766
原创 Django项目练习(二)——登录页设计以及用户验证&user.is_authenticated
一、index.html编写继续上次写我们的index<%inherit file="base.html" /><%def name="content()"><h1>欢迎来到我的django练习</h1></%def><%def name="title()">首页</%def><%def name="css()"><style> h1 { margin: 3%;
2021-11-16 20:23:56
833
原创 项目练习(一)——dashboard搭建与管理员模块开发
dashboard架构最上面是一个导航,左边是一个菜单栏,右边根据左边的选择,展示出相应的内容。一、准备工作1、静态文件下载bootstrap3,解压,在static文件夹下新建dashboard文件夹,然后再建css和js文件夹,把boostrap下css中的bootstrap.min.css放到dashboard文件夹的css下,然后bootstrap.min.js放到js文件夹下。因为bootstrap是以来jQuery的,所以要再下载jQuery。进入http://code.jquery.
2021-11-16 18:54:53
2166
原创 git简单使用——版本创建与项目初始化
一、创建一个新项目先到https://github.com/创建一个new repository。然后复制下来你的项目的地址:在cmd中:git clone https://github.com/congconghere/video_website.git可以看到有这个项目文件夹了:然后进入该文件夹:cd video_website通过git status,可以查看当前代码,发现里面什么都没有。现在版本就已经创建好了,接下来想在里面创建视频的项目。django-admin startp
2021-11-16 15:02:16
871
原创 cmd中‘git‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件—问题解决
‘git’ 不是内部或外部命令,也不是可运行的程序或批处理文件。找了好多教程添加了各种环境变量,最后终于好啦~首先找到git的安装文件夹:我是C:\Users\35479\git\Git\bin然后在cmd中添加环境变量set PATH=%PATH%;C:\Users\35479\git\Git\bin再git一下,就ok啦~参考链接:git添加到环境变量...
2021-11-16 13:01:52
1236
原创 Django——用户注册登录页面以及验证权限&bootstrap使用
首先我们拿一下bootstrap cdn<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">在templates中新建register.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"&g
2021-11-16 01:41:01
1547
原创 Django——权限验证与cookie&session
需求创建三个页面,每个页面都有对应的访问权限,没有权限的用户是无法访问的。一、权限在models中:创建apage model和b page model# coding:utf-8from django.db import modelsclass Apage(models.Model): title = models.CharField(max_length=10) def __str__(self): return '{}'.format(self.tit
2021-11-15 21:57:26
358
原创 Django——用户创建登录注销验证
先配置数据库settings中DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'django_user', 'USER': 'root', 'PASSWORD': '123456', 'HOST': 'localhost', 'PORT': 3306 }}app urls# coding:u
2021-11-15 18:36:47
425
原创 Django—admin样式设置以及功能二次开发
先创建一个superuser然后启动一下,看能否成功进入后台然后我们把model注册进来:并按我们想要的列展示ModelAdmin类是一个模型在admin页面里的展示方法,如果你对默认的admin页面满意,那么你完全不需要定义这个类,直接使用最原始的样子也行。通常,它们保存在app的admin.py文件里。注册装饰器两种方式:1、admin.site.register(Author, AuthorAdmin),第一个参数是model,第二个是定义的admin。2、装饰器@admin.regist
2021-11-15 12:08:24
1064
原创 Django——form表单与接口练习
练习内容创建message表单并渲染前端,通过前端将数据发送给后端,后端对message初步验证,验证通过存入数据库,失败返回错误信息。接口传输 不能是dict,就是str想要变成json类型:json.dumps( )反序列就是 json.loads( )>>> import json>>> data = {'name': 'cong', 'age': 20}>>> data{'name': 'cong', 'age': 20}>
2021-11-15 01:04:43
563
原创 Django练习:redis订阅发布基于Pythonsocket
消息发布订阅图在app中新建一个文件夹,然后新建base、server、client三个py文件。base文件中:# coding:utf-8import redisclass RedisSubPub(object): # redis中 0~15 一个有16个数据库 def __init__(self, host='localhost', port=6379, db=13, password='', pub='cong', sub='co.
2021-11-14 23:08:30
590
原创 ModuleNotFoundError: No module named ‘redis‘
在使用ipython导入Redis的时候出现了这个问题,其实已经安装了redis了,依旧说没有模块。查了一下是因为没有redis-py,可以在cmd中输入conda install redis。然后ipython再导入时就成功啦~
2021-11-14 22:56:31
584
原创 Django——filter得到对象QuerySet无法save的问题 ‘QuerySet‘ object has no attribute ‘save‘
django中,使用filter获得的是query set对象,可以使用for训话迭代;使用get返回的是model对象,类型是列表。因为使用filter是,如果没有找到相应的值,会返回一个空[ ] ,而使用get没有找到响应值则会报错。但是filter返回的对象却无法进行save()。我出现问题的代码如下:update_obj = Message.objects.filter(id=update_id)update_obj.content = update_messageupdate_obj.
2021-11-14 21:38:03
1182
原创 Django——admin后台
新建一个项目,然后在数据库中创建一个库create database django_admin_test charset=utf8;需要在后台先对数据库初始化一下:python manage.py migrateauth_user就是管理员表,现在就可以去创建超级管理员了。创建超级管理员python manage.py createsuperuser数据库中就多出一条数据。这时就可以登录admin后台了。启动服务python manage.py runserver默认是英文。我们可
2021-11-14 15:20:07
968
1
原创 Django——模型表单
因为这节要用到models所以先在新建一个数据库create database forms;然后回到settings去定义数据库。DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'forms', 'USER': 'root', 'PASSWORD': '123456', 'HOST': '127.0.0.1',
2021-11-14 13:57:07
424
原创 Django——form表单验证与前端显示方法
一、前端部分1、自动展示{{form.as_table}}渲染出来:(没有在table标签下使用,就是最原始状态)在外面加上table标签<table> {{form.as_table}}</table>as p<p> {{form.as_p}} </p>分别被放在两个p标签内ur<ul> {{form.as_ul}} &l
2021-11-14 01:46:54
1475
原创 Django——表单简单使用
配置省略。从templates中的regist.html文件开始。input标签的placeholder属性:placeholder 属性规定可描述输入字段预期值的简短的提示信息(比如:一个样本值或者预期格式的短描述)。该提示会在用户输入值之前显示在输入字段中。注意:placeholder 属性适用于下面的 input 类型:text、search、url、tel、email 和 password。<!DOCTYPE html><html lang="en"><
2021-11-13 23:48:58
290
原创 DjangoError——‘set‘ object is not reversible
set的对象不可逆。我是在添加表单的路径是报错的,然后检查urls。发现在app配置urls的时候,urlpatterns的[ ] 写成了 { }。urlpatterns应该是列表 [ ]。然后就没有问题啦~
2021-11-13 23:09:25
158
原创 Django——redis的配置方法与使用&缓存装饰器的书写
redis基于内存的数据库。MySQL的数据是存在磁盘中的,磁盘读取速度是没有内存读取快的,为了提升性能就会把一些数据存在内存中。比如微博,就有很多缓存的服务器,相比于直接读内存,性能会有很大提升。一、连接redis首先安装django-redis pip install django-redis redis然后在settings中配置:CACHES = { 'default': { 'BACKEND': 'django_redis.cache.RedisCache',
2021-11-13 21:25:25
1153
原创 Redis:HandleServiceCommands: system error caught. error code=1056, message = StartService failed:
在启动Redis时出现了一个错误:# HandleServiceCommands: system error caught. error code=1056, message = StartService failed: unknown error其实就是当前Redis服务器已经启动了,然后你又启动就报错,关掉重启就好了。redis-server --service-stopredis-server --service-startredis-cli.exe -h 127.0.0.1 -p 63
2021-11-13 19:14:08
5268
原创 Django——数据库查询
>>> cong = User.objects.get(pk=1)>>> cong<User: user:cong>>>> cong.diary.values('content')<QuerySet [{'content': '今天天气晴'}]>查看cong的日记。这里cong.diary是因为定义了related_name=‘diary’class Diary(models.Model): user =
2021-11-13 17:58:37
474
原创 Django——数据库的增删改
因为我们之前定义的模型里面的id都是不自增的,所以加入数据时需要手动添加,很麻烦,所以我们先把id的定义都删除,然后把migrations文件夹下的那些文件都delete。然后我们进入mysql数据库,把我们之前的数据库删掉drop database lesson4;然后再重新创建一个库create database lesson4;,这样比较方便一些。然后再makemigrations 和 migrate。这样的话会自动给我们每个表创建一个自增的id的。接下来通过shell模式,创建对象:pyt
2021-11-13 16:41:10
562
原创 Django——表关系与联合索引,一对一 一对多 多对多
一、一对一继续上次的在models中加入:# 一对一关系class Userprofile(models.Model): id = models.IntegerField(primary_key=True) user = models.OneToOneField(User, blank=True, null=True, on_delete=models.SET_NULL) # 只要表关联,都要有on_delete birthday = models.CharField(ma
2021-11-13 14:17:17
654
原创 Django之MySQL—方法属性学习
再新建一个对象(表)class User(models.Model): id = models.IntegerField(primary_key=True) username = models.CharField(unique=True, max_length=50, blank=False) age = models.SmallIntegerField(default=0) phone = models.SmallIntegerField(db_index=True, b
2021-11-13 01:14:03
66
原创 Django——model的创建与修改
一、配置数据库我用的是MySQL数据库在settings中:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'lesson4', 'USER': 'root', 'PASSWORD': '123456', 'HOST': 'localhost', 'PORT': '3306' }}二、创建
2021-11-12 23:57:22
1539
原创 Django连接MySQL—ModuleNotFoundError: No module named ‘MySQLdb‘
在根目录下的__init.py__文件中加入import pymysqlpymysql.install_as_MySQLdb()然后就初始化成功了
2021-11-12 23:34:12
269
原创 Django——mako的配置与使用方法
一、前言mako最大的特点就是允许在HTML中随意书写Python代码,挺起就很心动啊!!二、准备阶段新建一个项目mako_project,再新建一个app叫app,然后安装mako(要联网安装)pip install mako然后再注册app,配置templates,还有static文件,这里就不赘述了。实际上在配置mako时,并不需要对settings做特别的处理,主要是对render的处理,要重写一下render方法。在app文件夹下创建一个base_render.py写入以下代码:
2021-11-12 20:17:54
917
原创 Django——jinja2配置与使用
一、准备1、首先创建一个新的项目django-admin startproject jinja2、下载一下jinja的依赖:pip install jinja23、进入jinja文件夹,新建一个app python manage.py startapp app二、环境创建1、在app目录下创建一个jinja的基础环境,新建一个文件:base_jinja2.py写入如下代码:#coding:utf-8from jinja2 import Environment # jinja2的虚拟环境
2021-11-12 18:18:40
2626
原创 Django——内置过滤器
一、Django中常用内置过滤器在view中新增一个数据:data['count'] = 20然后回到index.html中另起一行:这里老师写的是 <br />我查了一下是因为HTML和XHTML之间的差异:在 HTML 中,<br>标签没有结束标签。在 XHTML 中,<br>标签必须被正确地关闭,所以要写成这样: <br />ps:<br>就是一个简单的换行符。pps:index.html中,可以直接使用view中的变量
2021-11-12 15:22:57
566
原创 Django—静态文件配置与内置标签
1.在根目录下创建一个static文件夹在settings文件的最后加上STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)注意:STATICFILES_DIRS是一个元组,所以只有一个参数也一定要加上逗号!static是静态文件地址,就是static文件夹。2.切换到views.py文件把return最后的字典提出来,替换成一个参数 def get(self, request, name): data = {}
2021-11-12 02:31:39
173
原创 Django学习之——Template
1.创建一个新项目django-admin startproject template进入到项目中,并创建一个APPcd templatepython manage.py startapp app在项目的根目录下定义一个文件夹,可以叫templates然后进入template文件夹,找到settings.py,再找到TEMPLATES,可以发现’DIRS’里面是空的,然后在里面填上下面的代码:'DIRS': [os.path.join(BASE_DIR, 'templates')],o
2021-11-11 23:14:47
803
原创 MySQL ERROR 1241 (21000): Operand should contain 1 column(s)
错误:ERROR 1241 (21000): Operand should contain 1 column(s)就是说操作数应该只有一列我写的:select c_name from t_student where c_age in (select max(c_age),min(c_age) from t_student);in后面是两列了,所以报错。我想找出年龄最大和最小对应的人然后我改了一下:select c_name,c_age from t_student where c_age =
2021-11-09 14:38:59
1489
原创 Win10下安装MySQL遇到的问题和解决合集
1、安装MySQL参考链接Window10下Mysql的安装和配置2、卸载之前的MySQLWindows10 彻底卸载 MySQL3、一个bug,不能输入mysqld,要输入 .\mysqldmysqld : 无法将“mysqld”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。4、cmd中输入net start mysql 提示:服务名无效或者MySQL正在启动 MySQL无法启动5、修改密码错误MySQL Acces
2021-11-08 15:59:32
384
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人