首页视图编写 lists/tests.py from django.test import TestCasefrom django.urls import resolvefrom lists.views import home_page class HomePageTest(TestCase): def test_root_url_to_home_page(self): found = resolve('/') # resolve是Django内部函数,用于解析URL,并将其映射到相应的视图函数…
loadrunner学习系列---脚本编写(2) 今天接着翻译http://www.wilsonmar.com/1lrscrīpt.htm上面关于LR脚本编写部分. VUser_Init部分 这里是Vuser_init部分的一些例子: 操作系统的User ID 下面显示了使用advapi32.dll的GetUserNameA函数获得的操作系统的用户ID char sUserID[1024]; // Maximum possible UserID length. long lUserIDSize…
 Django学习系列之Form基础 2015-05-15 07:14:57 标签:form django 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://5ydycm.blog.51cto.com/115934/1651453 Form对与一个网站来说就是一个灵魂,今天我们就来说说Django的Form概述. 本文内容来自官网,互联网及自己实验所得. 表单(forms.py)的定义: #coding:utf-8from dj…
学习系列5中的单元测试有报错信息,这儿来编写functional_tests.py文件,扩充其中的功能测试 # File: functional_test.py # Author: Rxf # Created on 2019.10.10 14:00 (first release) # Copyright (C) 2019 xxxxxx. All rights reserved. # please use python3.x # -*- coding: UTF-8 -*- from seleniu…
1,创建一个django项目 使用django-admin.py startproject MyDjangoSite 参考这里 2,建立视图 from django.http import HttpResponse def hello(request): return HttpResponse("我的第一个简单的python django项目.") 3,修改urls.py 我们为urlpatterns加上一行: (r‘^hello/$’, hello), 这行被称作URLpattern…
打开lists/tests.py编写 """向浏览器返回真正的HTML响应,添加一个新的测试方法""" from django.test import TestCase from django.urls import resolve from django.http import HttpRequest from lists.views import home_page class HomePageTest(TestCase): def test…
ORM—对象关系映射器,是一个数据抽象层,描述存储在数据库中的表,行和列.处理数据库时,可以使用熟悉的面向对象方式,写出更好的代码. 在ORM的概念中,类对应数据库中的表,属性对应列,类的单个实例表示数据库中的一行数据. Django对ORM提供了良好的支持,学习ORM的绝佳方法是单元测试中使用她,因为单元测试能按照指定方式使用ORM. 在tests.py中新建一个类 class ItemModelTest(TestCase): def test_saving_and_retrieving_it…
在Django中,ORM的任务是模型化数据库. 创建数据库其实是由另一个系统负责的叫做迁移. 迁移的任务是根据你对models.py文件的改动情况,添加或删除表和列. 可以把迁移想象成数据库使用的版本控制系统,后面会看到,把应用部署到线上服务器审计数据库时,迁移十分有用. 现在只需要知道如何创建第一个数据库迁移,使用makemigrations命令创建迁移: # python manage.py makemigrations Migrations for 'lists': lists/migra…
前面遗留的问题,首先时功能测试运行结束后的清理:其次是目前我们的待办清单只允许创建一个大家公用的清单. 如何隔离测试,运行功能测试后待办事项一直存在于数据库中,这会影响下一次测试. 运行单元测试时,Django的测试运行程序会自动创建一个全新的测试数据库(和应用真正使用的数据库不同). 运行每个单元测试之前都会清空数据库,等所有测试都运行完之后,再删除这个数据库. 功能测试目前使用的时应用真正使用的数据库db.qlite3,在function_test.py中添加执行清理任务的代码,这样的任务最…
要获取用户输入的待办事项,发送给服务器,这样才能使用某种方式保存待办事项,然后在显示给用户查看. 上次运行测试指出无法保存用户的输入.现在,要使用HTML post请求. 若想让浏览器发送POST请求,要给<input>元素指定name=属性,然后把他放在<form>标签中,并为<form>标签指定method=POST属性,这样浏览器才能向服务器发送POST请求. 调整一下lists/templates/home.html中的模板 <html> <h…
从视图的Python代码中把变量传入HTML模板. 模板中使用哪种句法引入Python对象,要使用的符号{{...}},它会以字符串的形式显示对象: <html> <head> <title>To-Do lists</title> </head>> <body> <h1>Your To-Do list</h1> <form method="POST"> <input…
python 和 php 我都是使用过,这里不想做一个非常理性的分析,只是根据自己的经验谈一下感想. 在web开发方面,无疑 php 更甚一筹. 从某种角度来说,php 就是专门为 web 定制的语言. 他没有强制的变量类型,文件结构也很松散, 不需要再代码中手动导入各种类库,开发非常快速方便,稳定性也非常好. python 则不然, 它需要手动定义很多参数, 大多数时候,需要一个类似 uwsgi 的 中间服务器 和 nginx,apache等更专业的web服务器通讯.虽然 uwsgi 也可以作…
曾几何时,Ajax已经统治了Web开发中的客户端,而REST成为web世界中最流行的架构风格(architecture style).所以我们的选择变得很简单:前端ajax访问后端的RESTful API对资源进行操作Django中有一些可选的REST framework,比如django-piston,django-tasypie. 但是我和google(呵呵,不好意思)推荐这个:Django REST framework django-framework就是定义一个url,可以利用这个url…
Django生成一个很有帮助的错误信息,大意是说没有正确设置数据库. 你可能会有疑惑,为什么在单元测试一切都运行ok,这是因为Django为单元测试创建了专用的测试数据库——这是Django中Testcase所做的神奇事情之一. 为了设置好真正的数据库,要创建一个数据库,SQlite数据库只是硬盘中的一个文件,在Django的setting.py文件中发现,默认情况下,Django把数据库保存为db.sqlite3,放在项目的基目录中 我们在Models.py文件和后来创建的迁移文件中告诉Dja…
之前写的lists/tests.py中的单元测试,要查找特定的HTML字符串,但这不是测试HTML的高效方法. 单元测试规则之一“不测试常量”,编写断言检测HTML字符串中是否有制定的字符串序列,不是单元测试应该做的. 单元测试要测试的其实时逻辑,流程控制和配置. Python代码中插入原始字符串不是处理HTML的正确方式,我们有更好的方式,就是使用模板.把HTML放在一个扩展名为.html的文件中. 让视图函数返回一样的HTML,但使用不同的处理方式,这个过程叫重构,即在功能不变的前提下改进代…
1.前言 在django中,视图的概念是:具有相同功能和模板的网页,都可以称为视图.通俗一点来说,就是你平常打开任一浏览器,输入一个地址A后看到浏览器窗口展示出来地址A所对应的页面内容B,页面内容B就算是视图. 页面内容B可以是纯文本内容,也可以是一个html页面. 在第一章[python测试开发django-1.开始hello world!]有讲过:通过任一浏览器访问[http://127.0.0.1:8000]就能在对应一个页面上展示出这样的纯文本内容[Hello world ! 洪景盛的d…
开始Java的学习,从Android,开始吧.<第一代码>开始阅读和调试demo例子. 下面是 <第一行代码>的思维导图:…
先来一个简单的实例 urls.py from django.conf.urls import url from django.contrib import admin from cmdb import views urlpatterns = [ url(r'^login/', views.index), ] views.py from django.shortcuts import render from django.views.generic import View # Create you…
项目树 引入xadmin pycharm在项目中创建存放xadmin的目录 右键项目名称-->pythonpackage-->输入名称:extra_app 拷贝xadmin代码到extra_app (mxonline) zhaijunming@zhaijuningdeMBP:~/Desktop/Project/python$ git clone https://github.com/zaxlct/imooc-django.git (mxonline) zhaijunming@zhaijunin…
重写User模型 Django内置的User模型可能不适合某些项目,我们可能要基于内置的添加一些字段 创建users app startapp users 修改settings.py配置文件,覆盖默认的user模型 settings.py 添加以下内容 '''是app的名称,和models里的class名称(表名)''' AUTH_USER_MODEL = "users.UserProfile" 编写users app下的models.py models.py from django.…
基本语法实例 from django.core.paginator import Paginator objects = Post.objects.filter(status='published') #从数据库中取出所有status=published状态的文章 p = Paginator(objects,) #实例化Paginator对象,3条数据为一页 print(p.count) #一共有多少条数据 print(p.num_pages) #一共可以分为多少页 page1 = p.page…
中间件的定义 中间件是一个.一个的管道,如果相对任何所有的通过Django的请求进行管理都需要自定义中间件 中间件可以对进来的请求和出去的请求进行控制 中间件是一类 django请求生命周期 自定义中间件 process_request(self,request): 请求到达之后之后先执行这个中间件 process_view(self, request, callback, callback_args, callback_kwargs): process_exception(self, requ…
基本操作 # 增 models.Tb1.objects.create(c1='xx', c2='oo') #增加一条数据,可以接受字典类型数据 **kwargs obj = models.Tb1(c1='xx', c2='oo') obj.save() dic = {'c1':'xx','c2':'oo'} models.Tb1.objects.create(**dic) #Form的产出结果是一个字典,可以根据这个Form的字典和**直接在数据库创建数据 # 查 models.Tb1.obje…
Cookie和Session介绍 cookie 保存在客户端 session 保存在服务端 session依赖于cookie,比如服务端想往客户端写东西的时候就把cookie写到客户端浏览器 django自带的session库有以下几点选择 a)database-backed session 存数据库 b)cached sessions              存缓存 c)use file-based sessions    存文件 d)cookie-based sessions     存c…
AJAX简介 什么是AJAX AJAX = 异步JavaScript 和 XML(Asynchronous JavaScript and XML) 通过在后台于服务器进行少量数据交换,AJAX可以使网页实现异步更新.这意味着可以在不重载整个页面的情况下,对网页的某部分进行更新 AJAX参数 url:提交表单内容到views里的某个函数 type:提交方式(POST或GET) data:提交到后台的数据,将自动转换成字符串格式 dataType:指定数据处理方式(XML,HTML,JSON,JSO…
  Forms结合ajax Forms的验证流程: 定义用户输入规则的类,字段的值必须等于html中name属性的值(pwd= forms.CharField(required=True)=<input type="password" name="pwd"/>,也就是说pwd=pwd) 把用户提交的数据交给规则的类处理 规则的类会判断用户输入的内容是否符合定义的规则 如果正确就把用户输入的内容以字典的形式存储,否则把报错信息以字典的形式存储 简单的Dja…
一.模板标签 if/else {%  if  %}标签检查一个变量的值是否为真或者等于另外一个值,如果为真,系统会执行{%  if  %}和{%  endif  %}之间的代码块,例如: {% if today_is_weekend %} <p>Welcome to the weekend!</p> {% endif %} {%  else  %}标签是可选的,如果不为真则执行{%  else  %}和{%  endif  %}之间的代码块 注意:一定要用{%  endif  %}…
一.基于App的路由 作用: 根据App对路由规则进行分类,在全局urls.py包含某个项目的urls.py 示例 定义全局urls.py(全局路由系统) #导入include from django.conf.urls import url,include from django.contrib import admin #导入app下的view函数 from learn import views urlpatterns = [ url(r'^admin/', admin.site.urls)…
1.什么是React? React是一个一个声明式,高效且灵活的用于构建用户界面的JavaScript库.React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源. 2.React有哪些特点? 1.声明式设计 −React采用声明范式,可以轻松描述应用. 2.高效 −React通过对DOM的模拟,最大限度地减少与DOM的交互. 3.灵活 −React可以与已知的库或框架很好地配合. 4.JSX − JSX 是 JavaScript 语…
隐示等待和显示等待 我们看看在功能测试中function_tests.py中的 time.sleep inputbox.send_keys(Keys.ENTER) time.sleep(1) self.check_for_row_in_list_table('1: Buy peacock feathers') 这就是所谓的“显性等待”.这与“隐式等待”形成对比:在某些情况下,selenium会在认为页面正在加载时尝试“自动”等待您. 它甚至提供了一个名为隐式等待的方法,让您可以控制如果您向它请求…