前言 django自带的admin后台管理页面有点丑陋,于是网上的大神优化了一版后台管理xadmin,并且开源了,在github开源下载到源码. 注意环境搭配: django 2.1.2 xadmin 2.0 python 3.6 xadmin安装 xadmin在github的源码地址https://github.com/sshwsfc/xadmin,可以用pip安装也可以自己下载后导入到项目中. 这里不推荐pip安装,会有报错.本篇介绍下载xadmin后导入的django项目中的方法. 先在g…
前言 django的admin后台页面默认是英文的,不喜欢英文的话,可以改下setting.py里面的语言设置,改成中文版的显示 语言设置 打开setting.py,找到以下内容 # Internationalization # https://docs.djangoproject.com/en/2.1/topics/i18n/ LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = T…
前言 通常一个网站开发,需要有个后台管理功能,比如用后台管理发布文章,添加用户之类的操作.django的admin后台管理主要可以实现以下功能 基于admin模块,可以实现类似数据库客户端的功能,对数据进行增删改查 于该模块的数据管理功能,可以二次定制一些实用的功能. settings.py配置 在INSTALLED_APPS中,默认已经添加相关模块, 可以不用管 django.contrib.admin 管理站点 django.contrib.auth 认证系统 django.contrib.…
前言 django的admin后台默认显示的内容很少,只显示了表的相关信息,查看字段内容需点开详情才能查看,不是很直观. 在admin.py文件里面是可以自定义相关的展示内容的,也可以添加搜索框,快速的搜索相关内容 优化列表显示 django的表信息列表显示默认值显示了表的相关属性 如果我们想让表里面的字段内容全部显示出来,需在admin.py文件添加list_display 属性,相关代码如下 # admin.py from django.contrib import admin from h…
前言 前面一篇在xadmin后台一个页面显示2个关联表(OneToOneField)的字段,使用inlines内联显示.本篇继续学习一对一(OneToOneField)关系的查询. 上一篇list_display只显示了当前表的字段信息,如果想显示关联表的字段,需要关联查询. 一对一(OneToOneField)关系 接着前面的一篇python测试开发django-33.admin后台一对一关系OneToOneField,先设计Card和CarDetail表 # models.py from d…
前言 django-celery-beat 可以支持定时任务,把定时任务写到数据库. 接着前面这篇写python测试开发django-196.python3.8+django2+celery5.2.7环境准备 django-celery-beat 一般结合 django-celery-results一起使用 环境准备 运行系统:linux(centos/debian/ubuntu),不支持windows Python版本:3.8.5 Django : 2.2.2 celery: 5.2.7 dj…
前言 xadmin的详情页面主要是用form_layout布局,学会了完全可以不用写html代码,也能做出很好看的页面. xadmin的html页面是用的Bootstrap3框架设计的,layout布局用到的是django-crispy-forms框架,本篇详细讲下django-crispy-forms的官方文档案例 django-crispy-forms 当我们使用xadmin后台的时候,在INSTALLED_APPS里面同时添加了xadmin和crispy_forms这2个app,xadmi…
前言 django查询到的结果,用JsonResponse返回在页面上显示类似于\u4e2d\u6587 ,注意这个不叫乱码,这个是unicode编码,python3默认返回的编码 遇到问题 接着前面的User表,测试数据如下 user_name psw mail yoyo 123456 283340479@qq.com yoyo2 111111 1 yoyo5 111111 0 接着上一篇[python测试开发django-15.查询结果转json(serializers)],如果数据库里面有…
前言 django查询数据库返回的是可迭代的queryset序列,如果不太习惯这种数据的话,可以用serializers方法转成json数据,更直观 返回json数据,需要用到JsonResponse.django查询数据库返回json数据有3种方法 serializers转json model_to_dict转字典 values()转list (最简单,推荐!) JsonResponse json是目前常用的一种数据格式,有时候我们需要返回一个json格式的数据,而 JsonResponse…
2019第一期<python测试开发>课程,10月13号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:10月13号-12月8号,每周六.周日晚上20:30-22:30 报名费:报名费2000一人(周期2个月) 联系QQ:283340479 课表如下 课程主要涉及的内容: 1.httprunner框架以及web平台做接口自动化测试 (装逼必备) 2.django平台开发 (python开发必会) 3.pytest框架结合selenium做web自动化测试 (…
前言 上一篇讲了基于类的视图,在REST framework中,你也可以使用常规的基于函数的视图.它提供了一组简单的装饰器,用来包装你的视图函数, 以确保视图函数会收到Request(而不是Django一般的HttpRequest)对象,并且返回Response(而不是Django的HttpResponse)对象,同时允许你设置这个请求的处理方式. 基于函数视图@api_view() 函数签名: @api_view(http_method_names=['GET'], exclude_from_…
Python测试开发-浅谈如何自动化生成测试脚本 原创: fin  测试开发社区  前天 阅读文本大概需要 6.66 分钟. 一 .接口列表展示,并选择 在右边,点击选择要关联的接口,区分是否要登录,如需登录,在选择接口栏下,点击登录按钮,即选择了该接口.如下图1所示: ▲图1 二. 自动生成Jmeter文件 点击“生成jmeter文件”按钮,如下图2: 后台会自动根据选择关联的接口,并自动生成Jmeter文件 ▲图2 部分后台函数内容,如下图3: ▲图3 三. 设置脚本参数 在界面设置并发数.…
写在前面 今年从4月份开始写一本讲Python测试开发技术栈的书,主要有两个目的,第一是将自己掌握的一些内容分享给大家,第二是希望自己能系统的梳理和学习Python相关的技术栈.当时我本来打算以故事体的方式来写,虚构了个主人公叫巴哥,以巴哥的职场发展为主线,从大学毕业,到步入职场,再到职场精英,介绍用到的所有测试开发技术栈. 采用故事线的方式来写,主要目的是让大家能更好的理解知识点.但是出版商不太能接受这种形式,他们觉得一本好的书还是需要规规矩矩的按照常规知识点去写.所以,我决定在公众号上做一个…
django在admin后台注册自己创建的数据库表,这样我们就可以在admin后台看到表结构信息,我们就可以在admin后台快速录入表记录信息 如果没有注册,那么你在登录django自带的admin的后台,就看不到我们创建的表结构 登陆django的admin的后台会出现以下界面 这个时候需要把自己创建的数据表也注册到admin中,这个时候就需要在数据表对应的app中找到admin.py文件 加入以下代码: from .models import UserProfile class UserPr…
django的admin后台管理系统中自带了一个批量删除所选对象的action. 我们还可以添加自定义的action来实现其它类似的功能,如批量修改某个字段的功能.简单的,例如将文章批量标记为已发布的action,如下: from django.contrib import admin from myapp.models import Article def make_published(modeladmin, request, queryset): queryset.update(status…
周边很多同学在用python,但是偶尔会发现有人对python的基础语法还不是特别了解,所以帮大家梳理了python的基础语法(文中的介绍以python3为例).如果你已然是python大牛,可以跳过这篇文章. 编码 python3的默认编码格式是:UTF-8 ,换句话说也就是:如果不在文件头部声明编码格式,python解释器默认以UTF-8的方式来读取python文件.作为对比,我们知道python2的默认编码格式是ascii,所以假如在python2文件中使用了中文,必须在文件头部声明gbk…
1.新建一个项目 2.新建一些文件夹方便管理 3.新建一个项目叫message  4.连接数据库 python web开发Django连接mysql 5.在数据库里自动生成django的表  6.运行debug发现运行成功…
互联网发展了许多年,不仅颠覆了很多行业,还让很多职位有了更多的用武之地.产品发布迭代速度不断加快,让测试开发这个岗位简直火得不要不要的. Python语言,作为一种更接近人来自然语言的开发语言,以简洁明了,上手快等优势被越来越多的人所关注. 测试开发的同学,也有不少选择了Python语言作为开发利器!这简直是如虎添翼! Python入门很容易,但是其实也是博大精深的. 有时候测试开发的面试官除了从技术深度上考察候选人的水平,还会从知识广度上看看候选人接触面有多大. 比如:“你知道Python的P…
Python测试开发-创建模态框及保存数据 原创: fin  测试开发社区  前天 什么是模态框? 模态框是指的在覆盖在父窗体上的子窗体.可用来做交互,我们经常会看到模态框用来登录.确定等等,到底是怎么实现这种弹出效果,bootstrap已经为我们提供了相应的组件. 1.界面原型 点击添加,弹出模态框, 然后输入 用户:tester, 消息:你好.如下图1所示: ▲图1 再点击保存,那么数据库就存入了以上输入的数据,查看界面的用户列表会显示tester,如下图2所示: ▲图2 2.开发过程 接下…
上文<巴哥职场进化记-Python测试开发技术栈>开篇讲到巴哥毕业初到深圳,见到了来自五湖四海的室友.一番畅聊之后,抱着对未来职场生活的期待,大家都进入了梦乡.今天我们来看看巴哥第一天上班都会经历哪些事情. 01 第一次见到导师 第二天一大早,巴哥他们都醒了,洗漱收拾完已经8点30,虽然住的地方离公司很近,但是巴哥和室友还是决定提前走路去公司,一来第一天入职迟到不太好,二来可以顺道熟悉下周围的环境. 走路大概十五分钟,他们就到达了公司所在的园区-深圳某软件园,公司目前暂时租在园区20号楼的6层…
上文<Python测试开发技术栈-巴哥职场进化记>-初来乍到,请多关照 我们介绍了巴哥入职后见到了自己的导师华哥,第一次参加团队站会,认识了团队中的开发小哥哥和产品小姐姐以及吃到了公司的加班餐--,今天我们接着来看巴哥会经历哪些事情. 01 华哥来的真早 第二天一大早,巴哥早早的来到了公司. "咦,华哥,你这么早啊",巴哥没想到华哥比自己到的还早. "来的早点,路上不堵车",华哥说道. "巴哥,你今天主要是把之后工作中可能会用到的工具都安装一下…
上文<Python测试开发技术栈-巴哥职场进化记>-一道作业题我们讲到华哥给巴哥出了一道作业题,让巴哥用Python实现记录日志的功能,巴哥历经"千辛万苦",终于做出了一个版本,但是也意识到当前由很多开源方案可供选择.今天我们来看看巴哥会经历哪些事情,精彩还在继续---- 01 又要开站会 第二天,巴哥早早的来到办公室~ 他还在思考昨天华哥给布置的作业题. 想着最好能实操使用下loguru日志库,巴哥开始动手写demo程序. "这loguru确实好用,在控制台打印…
前言 一本书可以有多个作者,一个作者也可以写多本书,这种关系就是本篇要说的多对多关系. 这种场景在django里面数据库设计时候,需要用到ManyToManyField方法 多对多表设计 auther(作者)表里面放作者的基本信息,book(书本信息)表放书的相关信息,书里面book_auth(作者)关联auther表. # models.py from django.db import models # Create your models here. class Auther(models.…
前言 平常的网页上有很多一对多的场景,比如填写银行卡信息的时候,会从银行列表下拉框选择对应的银行信息.一般会建两张表,一张表放银行的信息,一张表放银行卡信息. 每个银行可以对应多个银行卡,每个银行卡只能是一家银行的.那么银行名称和银行卡就是一对多的关系,反之,银行卡和银行名称就是多对一的关系 一对多表设计 准备两张表,银行信息(Bank)和卡号信息(CardInfo) ForeignKey(外键)里面有2个必传参数,第一个参数(to)是关联到对应的表(Bank),第二个参数的on_delete指…
前言 admin后台页面表名称(默认会多加一个s)和字段名称是直接显示在后台的,如果我们想设置成中文显示需加verbose_name和verbose_name_plural属性 verbose_name 如下图所示,列表标题显示的是数据库里面的字段(Field)名称,如果想让它显示中文的名称,需加个verbose_name参数 # models.py class Article(models.Model): '''文章''' title = models.CharField(max_length…
前言 列表页优化和排序 ModelAdmin django的options.py里面 ModelAdmin类定义的参数可以设置admin后台列表页面,相关的参数如下 class ModelAdmin(BaseModelAdmin): """Encapsulate all admin options and functionality for a given model.""" list_display = ('__str__',) # 显示的字段…
前言 django的admin首页默认显示的"Django 管理",title显示的是"Django 站点管理员",这里的文案内容可以修改成自己项目的后台页面内容 首页和title django后台首页点开,修改成项目对应的文案, 修改如下图2个地方 admin.py修改 sites.py源码里面AdminSite类下面有site_title.site_header.index_title这三个值 class AdminSite: """…
Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. selenium - web UI自动化测试. mechanize- Python中有状态的程序化Web浏览链接 selene - 使用Python + Ajax支持+ PageObjects + Widgets进行简明UI测试 hitch - 基于服务的应用程序的高级集成测试框架. Needle - Css 自动化测试框架. seleniumbase - 端到端自动化测试框架. pytest_spli…
创建blog的项目结构 关于如何创建一个Django项目,请查看[Python Web开发:使用Django框架创建HolleWorld项目] 创建blog的数据模型 创建一个文章类 所有开发都是数据为基础,首先我们再blog app下的models.py模型中Article,因为是基于Django MVC模式开发,Article类需要继承models.Model类 from django.db import models # Create your models here. class Art…
Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. selenium - web UI自动化测试. mechanize- Python中有状态的程序化Web浏览链接 selene - 使用Python + Ajax支持+ PageObjects + Widgets进行简明UI测试 hitch - 基于服务的应用程序的高级集成测试框架. Needle - Css 自动化测试框架. seleniumbase - 端到端自动化测试框架. pytest_spli…