django
中年半吊子程序猿
正在成为程序猿的路上
展开
-
基于django源码自定义前端form表单样式
在项目中,我们通常会用django中的modelform帮助我们快速生成前端的样式,提升开发效率。但是有时,当我们需要让一些字段,显示一些特殊的样式时,就需要对modelform中的默认样式,手动进行一些修改:选择颜色 示例颜色选项,本来在数据库中是choices字段(字段名直接使用css样式中的颜色代码,方便后面自定义操作),在modelfrom自动渲染是一个select标签,如下图通过自定义的修改标签样式,可以改变标签的类型,并配合前端的一些技巧,最终修改后的效果如下。新建widgets.p原创 2021-05-18 11:16:15 · 1548 阅读 · 1 评论 -
django项目文件结构规划
项目的文件结构简介一般django按照app来进行第一级的划分,每个app下有自己的MVC文件,即models, views,html和urls等基本文件,同时在项目的开发深入,可能会涉及到一些form表单,第三方插件,中间件,template_tags等。!!!合理地文件结构规划,可以提高项目的可读性和扩展性,提高开发效率静态文件当一个项目内有多个app时,django按照如下的顺序,在项目内寻找静态文件项目根目录下的static文件夹 > app内的static文件夹(app之间的先后顺原创 2021-05-16 14:57:23 · 705 阅读 · 0 评论 -
django项目本地配置
场景:在实际项目开发中,由于代码可能需要在测试,开发,运维等角色中传递,而各自使用的配置可能不同,所以通常开发会另外新建一个本地配置文件local_settings.py1. 导入本地配置新建local_settings.py,并在项目的setting.py中导入,配置如下# settings.py###### 导入本地配置 ######try: from .local_settings import *except ImportError: pass2. 创原创 2021-05-15 23:18:46 · 183 阅读 · 0 评论 -
使用virtualenv搭建虚拟环境及使用pycharm搭建项目环境
使用 virtualenv 搭建虚拟环境1.安装virtualenv打开terminal,以管理员方式运行输入如下安装命令安装完成,关闭terminalpip3 install virtualenv# 或者使用国内镜像pip3 install virlualenv -i http://pypi.douban.com/simple --trusted-host pypi.douban.com2.创建虚拟环境需要先创建虚拟环境文件夹,如E:/envs,用于存放所有的环境配置进入环境原创 2021-05-15 23:07:57 · 380 阅读 · 0 评论 -
django时区设置
在项目setting.py中,可以对项目的时区进行配置,涉及的有2个参数:TIME_ZONEUSE_TZ具体说明如下:# datetime.datetime.now() / datetime.datetime.utcnow() => utc时间# TIME_ZONE = 'UTC'# datetime.datetime.now() - 东八区时间 / datetime.datetime.utcnow() => utc时间TIME_ZONE = 'Asia/Shanghai'原创 2021-05-14 22:59:42 · 425 阅读 · 0 评论 -
requirements.txt 文件生成和使用
requirements.txt 主要用于版本控制,最好配合虚拟空间使用pip freeze > requirements.txt使用该命令会在项目根目录产生一个 requirements.txt 文件 ,该文件会列出本虚拟空间中所使用的所有包及其版本pip install -r requirements.txt安装项目根目录的 requirements.txt 文件中所有的依赖的指定版本pip install flask==3.5.2另外, 以下命令可以安装特定版本 py原创 2021-05-13 12:34:16 · 658 阅读 · 0 评论 -
django中orm字段 知识点
知识点通过models.UserInfo._meta.get_field(‘字段名’)可以取到对应的字段对象根据字段对象,可以取到字段的verbose_name,null等属性class UserInfo(models.Model): username = models.CharField(verbose_name='用户名', max_length=32, db_index=True) email = models.EmailField(verbose_name='邮箱', max_原创 2021-05-11 23:37:44 · 159 阅读 · 0 评论 -
django自定义modelform的choice选项展示内容
应用场景在新增项目的任务时,需要指派任务的执行者。默认modelform会吧执行者所在的用户表的所有数据全部放在choice中。但是实际仅需要展示当前项目参与者的人,从中选择执行者,故我们需要对modelsform的数据进行自定义展示示例代码class TaskModelForm(forms.ModelForm): class Meta: model = models.Task fields = ['title', 'content', 'project']原创 2021-05-10 15:12:22 · 992 阅读 · 0 评论 -
cos临时秘钥上传文件
路由配置url(r'^demo2/$', manage.demo2, name='demo2'),url(r'^cos/credential/$', manage.cos_credential, name='cos_credential')视图def demo2(request): return render(request,'demo2.html') def cos_credential(request): # 生成一个临时凭证,并给前端返回 # 1. 安装一个生成临时凭证py.原创 2021-05-08 12:45:36 · 1378 阅读 · 0 评论 -
ajax向后台发送消息
data为非复杂数据时即data{}内的键值对的值 不包含 列表等复杂数据,可以直接通过get/post发送给后台// 前端: $.ajax({ ... data:{name:11,age:122,xx:[11,22,33]} }) // 或者 $.post(url,data,callback) $.get(url,data,callback)# Django后台: request.POST request.POST.get原创 2021-05-06 22:25:25 · 253 阅读 · 0 评论 -
markdown编辑器的应用
textarea 输⼊框 转换为markdown编辑器textarea框通过div包裹设置id,后续在md配置中,需要只用此id<div id='editor'>.... </div>应⽤用js和css<link rel="stylesheet" href="css路径"><script src="js路径"></script>初始化function initMDeditor() { editormd('edi原创 2021-05-05 22:51:35 · 186 阅读 · 0 评论 -
自定义modelform中字段显示内容
场景需求django默认渲染是将db所有的字段信息全部展示,如果想按照特定的条件显示,可以重写modelform的init方法class WikiModelForm(forms.ModelForm): class Meta: model = models.Wiki fields = ['title', 'content', 'parent'] # 重写modelform的init方法 def __init__(self, reque原创 2021-05-01 15:31:00 · 576 阅读 · 0 评论 -
关于django中的csrf_token
什么是csrf_tokencsrf_token是django的一种安全机制,增加验证,是否是通过get请求先访问页面,然后再进行的提交,否则无法直接提交 当以form表单提交时,django会自动处理csrf_token 但是当使用ajax提交时,不会像form表单那样自动处理,必须手动获取如何避免csrf_token报错在from表单中加入{% csrf_token %}<form action='{% url 'LOGIN' %}' method="post"> ..原创 2021-05-01 15:21:33 · 1142 阅读 · 0 评论 -
django中modelformset基本使用说明
modelformset 是基于modelform实现的批量表单,包含了modelform的特点使用方法:1. 创建modelformclass StudyRecordModelForm(StarkModelForm): class Meta: model = models.StudyRecord fields = ['record', ]2. 使用modelformset_factory创建modelformset参数1:model类 参数2原创 2021-05-01 15:09:20 · 557 阅读 · 0 评论 -
django中的modelform快速上手
modelform的特点modelform是django中基于已有的model,快速生成的具有form功能的一个模块,有以下几个特点:1. 快速:只要告诉类对应哪个model,会根据model表中的字段,自动进行配置。不需要像form那样手动逐条定义每个字段2. 灵活:可以只选择model表中部分的字段,使用feilds=[,]或者exclude=[,],或者"__all__"表示所有字段3. 可以自定义添加字段4. 可以自定义错误信息5. 可以自定义参数(控制样式等)6. 利用自...原创 2021-04-29 22:53:27 · 3251 阅读 · 0 评论 -
django离线脚本
django离线脚本离线脚本可以在不运行django项目的情况下,通过py文件,直接使用django的orm等功能将数据写入db准备配置文件 # offline_script.pyimport osimport sysimport djangobase_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 获取项目根路径sys.path.append(base_dir) # 添加项目路径只系统环境变量原创 2021-04-29 15:52:00 · 385 阅读 · 0 评论