自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 问答 (1)
  • 收藏
  • 关注

原创 Django 模板 template的 模板语言

组成:HTML代码+逻辑控制代码逻辑控制代码的组成1、变量  {{ var_name }}深度变量的查找:万能的句点号#最好是用几个例子来说明一下。# 首先,句点可用于访问列表索引,例如:>>> from django.template import Template, Context>>> t = Template('Item 2 is {{ items.2 }}.')>>> c = Context({'items': ['appl

2022-03-01 21:18:15 297

原创 Ubuntu上部署Django链接Mysql 8.0 出现错误Access denied for user ‘root‘@‘localhost‘ 解决

今天在阿里云的UBUNTU服务器上安装DJANGO服务出现连接不上MySQL8.0的问题。找了一圈原因,原来django 3.2连接mysql 8.0时的加密方式不同造成的Access denied for user ‘root’@‘localhost’运行环境: Django版本3.2 ; Mysql 版本 8.0.11;错误代码: django.db.utils.OperationalError: (1045:Access denied for user ‘root’@‘localhost’ (

2022-01-22 18:05:14 545

原创 django_ simplepro 表格、列表(ModelAdmin)配置

表格和Adminsimplepro table基于elementui table,设置主要来自ModelAdmin,写法与原生admin一致,但是在原生的基础上增加了和减少了部分字段。注意目前table仅支持下列这些字段,但是在编辑和添加页还有用到其他字段,请参考原生admin与simpleui,simplepro是完全基于simpleui的。自定义按钮admin中的自定义actions也是支持的,也就是simpleui说说的自定义按钮。定义方法和使用均与原生admin一致,不过simpleui在这

2021-12-31 13:05:50 1929 1

转载 django simpleui 的进阶用法,挂载自定义js,实现自定义功能

在admin类里面挂载自定义js@admin.register(Dog)class DogAdmin(admin.ModelAdmin): list_display = ('img', 'name', 'age', 'operate') list_display_links = ('name',) # 在list页面显示头像 @admin.display(description='头像', ordering='name') def img(self, obj):

2021-12-31 11:00:48 1014

转载 django simpleui 的list_display添加自定义列、显示图片 及alert弹窗的设置方法

Django Admin SimpleUI的一些简单用法环境:python: 3.8.xDjango: 3.2.xDjango-simpleui: 2021.x先定义下模型#models.pyclass Dog(models.Model): name = models.CharField(max_length=15, verbose_name='小狗名字') age = models.IntegerField(verbose_name='小狗年龄', default=0)

2021-12-31 10:58:02 3344

转载 django admin基于simpleui 再login页面添加记住密码

场景需求: django 有自带的设置session 时间,默认所有登入都是按系统设置的session过期时间。但是有时候借用别人的电脑不希望session过期时间太长,所以自定制(记住密码)设置,如果选中记住密码,session过期时间为一个月,否则使用默认60分钟过期。自带session过期时间设置,在settings中:SESSION_COOKIE_AGE = 60 * 60 # 过期时间60分钟step1: 修改login页面,可以选择继

2021-12-31 10:44:11 896

原创 Django Admin中增加导出Excel功能

在admin.py写导出excel文件首先要安装第三方库 openpyxl 用于excel操作:pip install openpyxl在使用Django Admin时, 对于列表我们有时需要提供数据导出功能, 如下图:在Django Admin中每个模型的Admin类(继承至admin.ModelAdmin), 我们可以通过actions增加支持的动作, 值为当前类存在的方法名, 例如:.......@admin.register(Issue)class IssueAdmin(admin.

2021-12-31 10:38:47 738

转载 simpleui 的菜单权限设置,实现无权限不显示菜单

settings.py的SIMPLEUI_CONFIG,虽然可以做到配置admin页面左边的模块展示和模块下拉项,但是无法和用户权限产生交互。用户无权限访问的模块,依旧会显示在页面左边,点击会返回403,十分的不美观。如图所示image2.如何对simpleui进行二次开发删除已经pip成功的simple库pip uninstall django-simpleui克隆simpleui源码到项目下,和其它app同级别。修改simpleui/templatetags/simpletags.py文件的

2021-12-31 09:11:06 2934 1

原创 openpyxl按工作表索引的方式读取,避免工作表改名读不到

总有人喜欢改工作表名呀!!那么你写的python脚本就残废了所以用openpyxl按工作表索引来读取就可以避免了。import openpyxlwb=openpyxl.load_workbook('123.xlsm')# 通过工作表的索引获取,避免改名造成错误sht= wb.worksheets[1]完美!!...

2021-12-30 20:34:48 1559

原创 Nginx 出现 403 Forbidden的解决方法~总算解决 或者static forbidden的问题解决

Nginx 出现 403 Forbidden 最终解决步骤一:检查目录权限。权限不足的就加个权限吧。例子:chmod -R 755 / var/www步骤二:就是这一步解决的打开 nginx.conf例子:vim /etc/nginx/nginx.conf把 user 用户名 改为 user root 或 其它有高权限的用户名称即可步骤三如果是centos,看一下selinux是否关闭了查看SELinux状态:1、/usr/sbin/sestatus -v ##如果S

2021-12-19 17:34:02 1097

原创 Django+Nginx+Uwsgi配置环境时,Uwsgi若干问题(踩过的坑)的解决方法

uwsgi --http :8000 --module mlwshop.wsgi7 配置uWSGI(服务器)7.1 打通uWSGI和Python在项目根目录创建test.py文件,内容如下def application(env, start_response):start_response(‘200 OK’, [(‘Content-Type’,‘text/html’)])return [“Hello World”] # python2# return [b"Hello World"] #

2021-12-19 17:28:57 1278

原创 mysql中 you are not allowed to create user with grant 的问题

先查看一下错误------>mysql> grant select,insert on company.* to 'username'@'localhost' with grant option ;ERROR 1410 (42000): You are not allowed to create a user with GRANTmysql> grant select,insert on company.* to 'username'@'localhost' with

2021-12-18 19:14:01 649

原创 阿里云的Ubuntu安装和配置mysql+navicat外网连接

一:下载安装1.升级升级apt-get:apt-get updatesudo apt-get update2.查看是否安装mysql:若输入上图所示命令没有任何的输出(如上图),则没有安装mysql。3.安装:依次执行以下命令:apt-get install mysql-serverapt-get install mysql-clientapt-get install libmysqlclient-dev安装过程中遇到停止的地方直接打印y4.检测是否安装成功:参考以上步骤 2s

2021-12-18 18:20:12 774

转载 windows下Redis的安装和使用

引用自刘清政的博客博客园新随笔管理https://www.cnblogs.com/liuqingzheng/p/9831331.htmlwindows下Redis的安装和使用1、要安装Redis,首先要获取安装包。Windows的Redis安装包需要到以下GitHub链接找到。链接:https://github.com/MSOpenTech/redis。打开网站后,找到Release,点击前往下载页面。2、在下载网页中,找到最后发行的版本(此处是3.2.100)。找到Redis-x64-3.2.

2021-12-04 15:51:56 221

原创 Python Django Web开发——原生与内置缓存的实现及中间件Middleware的使用思维导图

2021-11-23 21:27:49 536

原创 Python Django Web开发——分页器Paginator的使用思维导图

2021-11-23 21:25:37 534

原创 Python Django Web开发——随机生成验证码的思维导图

Django-验证码目的防止恶意用户原生绘制pillowImage画布尺寸颜色模式RGBImageDraw属于那个画布画完的位置封装绘制API文字点例如验证码生成若干干扰点线 等等ImageFont画笔的辅助工具字体可以从系统copy过来设置绘制的样式需要将画布转为二进制流并且添加格式限定内存流使用了BytesIO库将图片存入内存流从流中获取数据值再htt.

2021-11-23 21:23:34 353

原创 Python Django Web开发——网页随机图片验证码的生成与使用,模拟登录使用验证码功能

1、使用Pillow库生成一个图片验证码# 用pillow造一个验证码图片def get_code(request): mode = 'RGB' size = (200, 100) red=random.randrange(256) green=random.randrange(256) blue = random.randrange(256) bg_color = (red, green, blue) # 创建一个画布 image

2021-11-21 23:12:46 417

原创 Python Django Web开发——内置分页器的学习以及使用Bootstrap的分页器美化前端显示

Django 内置的分页器功能 Paginator 非常容易实现数据的分页显示,及对应的控制先不使用Paginator,自己造一个分页器,主要利用的是数据库查询的数据集的切片。def get_students(request): # 用数据库分页方法实现分页展示 # http://127.0.0.1:8000/app/getstudents/?page=4&perpage=10,用这个?page=4&perpage=10传递参数 # 如果没有获取到参数,则设置默

2021-11-21 15:04:59 543

原创 Python Django Web开发——redis安装windows_Django中如何使用Redis进行缓存详细教程

对于非经常更新的服务器数据,若每次都从硬盘读取一次,会浪费服务器资源、拖慢响应速度,而且数据更新频率较高,服务器负担比较大。若保存到数据库,还需要额外建立一张对应的表存储数据。一个更好的方法是在Django中使用Redis进行缓存。本文转载于Yrish和宅神kin的两篇优秀博文,详细讲解了Redis的安装与配置,并介绍了如何在Django中使用redis进行缓存。redis的安装(1)在Windows系统中安装redisRedis不支持Windows!在它官网写得很清楚。但是开发环境一般是Window

2021-11-11 21:28:13 343

转载 Python Django Web开发——redis的使用方法(包括安装、配置、启动)

一、安装redis:原文:https://www.cnblogs.com/ExMan/p/10397178.html1.下载:wget http://download.redis.io/releases/redis-3.2.8.tar.gz2.解压tar -zxvf redis-3.2.8.tar.gz3.复制,放到/usr/local目录下sudo mv ./redis-3.2.8 /usr/local/redis4.进入到redis目录下cd /usr/local/redis/5

2021-11-11 21:12:42 398

原创 Django的Web开发 的文件上传(图片等)

原生文件上传,with open 新建文件 ,写入文件def upload_file(request): if request.method=='GET': return render(request,'upload.html') elif request.method=="POST": new_file=request.FILES.get('new_file') print(type(new_file)) with ope

2021-11-03 22:38:30 163

原创 Django的Web开发模板Model+静态资源+文件上传(图片)的使用思维导图

Model+静态资源Model >DB迁移生成迁移makemigrations执行迁移migrate迁移原理根据既有迁移文件与Model进行比对,生成新的迁移文件,直接过滤掉已执行的文件执行未执行的迁移文件,并记录DB >>Model数据库中建立表python manage.py inspectdb在终端中生成model的语句,然后粘贴到models.py中python manage.py inspectdb > models

2021-11-03 22:30:58 121

原创 Django的Web开发模板加载静态文件load static以及{% static %}标签的使用方法

模板需要加载css样式文件等,js执行文件以及一些图片等。Django中加载静态文件是使用static标签来加载静态文件。要使用static标签{% load static %}加载静态文件的步骤注意: 文件夹的名字必须为static后在settings.py:中添加STATICFILES_DIRSSTATICFILES_DIRS = [ os.path.join(BASE_DIR,"static")]模版中使用load标签加载static标签。比如要加载在项目的static文件夹下的sty

2021-11-02 21:42:47 2913

原创 Django的Web开发——models的继承

Django中的模型是可以继承的默认的继承是在主模型中生成id及主模型字段,这样的关系特别复杂,父类里数据量也会很庞大,效率低model.pymigrate后,会生成三张表,然后cat、dog 都外键关联Animal表class Animal(models.Model): a_name=models.CharField(max_length=20)class Cat(Animal): c_eat=models.CharField(max_length=20)class Dog

2021-11-01 23:37:30 169

原创 Django的Web开发,数据库的一对一,一对多,多对多的应用

一对一,models.OneToOneField的应用models.pyclass Person(models.Model): p_name=models.CharField(max_length=20) p_sex=models.BooleanField(default=False)class Id_card(models.Model): id_num=models.CharField(max_length=18,unique=True) # models.CASC

2021-11-01 23:31:54 125

原创 Django的Web开发——Sql已存在数据库结构生成到Model的方法

如果一般的开发中,是先设计好数据库,然后再进行开发的, Django可以自动帮我们生产models.py现在数据库中建好表结构在终端中输入 python manage.py inspectdb然后会显示下面所有的model语句,复制到models.py中如果不想复制粘贴,可以删除指定的如App/models.py 中终端中 python manage.py inspectdb > App/models.py# This is an auto-generated Django model

2021-11-01 23:21:41 223

原创 Django_Views

Django_Views双RRequestResponse服务端对客户端请求作出的相应开发者自己创建的响应分类HTML响应HTML相应httpresponHttpResponseRedirect相应重定向相应代码302路由id地址reversepython代码中国的反向接卸reverse(‘namespace:name’)位置参数reverse(‘namespace:name’,args=(value1,value2…)

2021-10-30 17:33:47 63

原创 Django-Web开发 token的会话技术使用

token 是自定义的session会话技术 ,一般使用在移动端等其他不支持COOKIE的多端在web端使用 与session使用是一样,def generate_token(ip,username): c_time = time.ctime() rd = username print(ip + rd,c_time) return hashlib.new('md5', (ip+c_time + rd).encode('utf-8')).hexdigest()def

2021-10-30 17:21:58 86

原创 Django-Web开发,session的设置和使用方法和登录界面写法

session 是配合cookie使用,如果cookie删除了,则session也失效了Django 存储在服务端的session是存放在数据库的django_session表中设置session的方法def login(request): # 高内聚的写法,利用自身判断request的请求,实现两个不同结果 # 使用session做的登录!!!session是依赖于cookie的, 如果cookie清除了, session也就失效了 # django的session保存在数据

2021-10-28 23:24:55 240

原创 Django-Web开发,cookie的设置和使用方法和简单的登录设计

cookie是存在客户端的变量“cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。cookie 是访问过的网站创建的文件,用于存储浏览信息,例如个人登录信息。django如何设置cookie?使用 HttpResponse, set_cookie函数设置def set_cookie(request): # cookie是不支持存储中文的,若要实现存储中文,可以转码 如base64 response=HttpRespo

2021-10-28 23:18:36 417

原创 Django的Web开发,HttpResponse里的redirect重定向及jsonresponse

Response 的几个属性. content 返回的内容status_code 指定返回的状态码。比如可以强制返回404write, 返回写入文件response.flush() 冲一遍缓存Redirect 重定向, 最好不要用绝对路径, 命名空间反向解析路径redirect方法 (重定向)redirect(to,permanent = False,* args,** kwargs)将HttpResponseRedirect返回给传递参数的相应URL。这个参数可以是:模型:模型的

2021-10-27 22:36:29 762

原创 Django的WEB开发——!重要views和templates的应用思维导图

DjangoTemplatesMTV中的Template充当数据展示的角色在Django中使用的模板模板的组成Html静态模板y语法变量{{ var }}变量名遵循命名规范来源views试图中传递过来标签中,自身的逻辑标签{% exp %}类型单标签双标签必须闭合结构标签block块坑用来规划,填充页面首次出现规划第二次出现填坑第三次出现填坑。默认会覆盖若不想覆盖,bl

2021-10-26 22:10:31 140

原创 Django的web开发——request和response的用法!!重要

urlpatterns = [ # GET的网页写法http://127.0.0.1:8000/two/haverequest/?name=mei1&name=mei2&name=mei3 re_path(r'^haverequest/', views.have_request), re_path(r'^createstudent', views.create_student), re_path(r'^docreatestudent', views.do_c.

2021-10-25 22:47:22 112

原创 Django的Web开发——【重要】命名空间及URL反向解析

反向解析的重要作用,地址是动态解析, 不受文件夹名称变更的影响第一步需要在主urls.py 中修改urlpatterns = [ # !!!重要,url命名空间的反向解析,可用于因路径变更或者名字变更,不需要变路径。 re_path(r'^two/', include(('Two.urls','Two'),namespace='second')),]因django版本问题,可能会报如下错Specifying a namespace in include() without pr

2021-10-25 22:40:33 153

原创 Django的Web开发——传递位置参数和命名参数的方法

位置参数,即严格按照传递的顺序来传参urls.pyurlpatterns = [ # 一个括号代表一个变量,views里的函数需要一对一的接收变量 re_path(r'^gettime/(\d+)/(\d+)/(\d+)/', views.get_time, name='time'), ]views.py中的代码def get_time(request,hour,minute,second): return HttpResponse('Time: %s:%s

2021-10-25 22:33:27 152

原创 Django的Web开发——urls通过路径的传递与接收信息

通过网址路径的方式传递与接收信息urlpatterns=[ re_path(r'^students', views.students), # 一个括号代表一个变量,views里的函数需要一对一的接收变量 re_path(r'^student/(\d+)/',views.grade_student),]利用正则处理接收的信息 {% for student in students %} <li>班级:<a href="student/{{

2021-10-24 22:26:48 121

原创 Django项目web开发 tamlates的 html学习——safe模式autoescape实现转义

html的安全转义,将传入的包含Html格式的文件显示出来!!!此方式有很大的风险将code传递到html中, 并实现浏览器显示该html标签,可调用js实现网站前端被攻击。def get_students(request): students=Student.objects.all() # 测试模板for循环,传入空字典,时显示empty # students=Student.objects.filter(s_name='aaa') # 直接往上下文中传入字典

2021-10-23 22:23:55 153

原创 Django开发WEB项目的 HTML学习

HTML模板的写法注释的写法{# 注释的写法, 这种写法,在浏览器里是显示不出来的, 而下面的写法是会显示出来 #}{% comment %}多行注释这里是多行注释而且不会在浏览器检查里显示出来{% endcomment %}<!--这种注释是会被加载到浏览器中。-->for 循环中的空置(传入的空字典)的替代{% for student in students %} <li>{{ student.s_name }}</li>

2021-10-23 22:19:15 92

原创 Django的Templates学习

Templates的模板继承extends,block以及include的用法{% extends 'home.html' %}{#注意! 如果是继承的父模板, 则只能在父模板的block坑里面填内容,才会被显示,如下单独在写得内容不会被显示#}<h1>这里不在block的内容不会被显示</h1>{% block header %} <h1>我会覆盖掉原有上次header的内容</h1> {# 加上下面的就会调用父类的模板 #}

2021-10-23 22:08:40 85

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除