一、JS 正则部分

test   - 判断字符串是否符合规定的正则
rep = /\d+/;
rep.test("asdfoiklfasdf89asdfasdf")
# true

rep = /^\d+$/;
rep.test("asdfoiklfasdf89asdfasdf")
# true

exec   - 获取匹配的数据
rep = /\d+/;
str = "wangshen_67_houyafa_20"
rep.exec(str)
# ["67"]

JavaScript is more fun than Java or JavaBeans!
var pattern = /\bJava(\w*)\b/;
# ["JavaScript", "Script"]

JavaScript is more fun than Java or JavaBeans!
var pattern = /\bJava\w*\b/g;
# ["JavaScript"]
# ["Java"]
# ["JavaBeans"]
# null

JavaScript is more fun than Java or JavaBeans!
var pattern = /\bJava(\w*)\b/g;
# ["JavaScript",'Script']
# ["Java", ""]
# ["JavaBeans", "Beans"]
# null

多行匹配:
默认就是多行匹配
^$
        - 登录注册验证
默认事件先执行:
checkbox
自定义先执行
a
submit
...
<form>

<input type='type' />
<input type='password' />
<input type='submit' />

</form>
  
$(':submit').click(function(){

$(':text,:password').each(function(){
...
return false;
})
return false;
})  
  
input,checbox
  
       ================================== 验证 ================================
JS: 验证

各种验证

$(':submit').click(function(){

$(':text,:password').each(function(){
...
return false;
})
return false;
})  

后端:python实现

业务处理
....

二、JS 组件部分
1、BootStrap介绍
Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。
2、学习 BootStrap 规则
(1)、响应式
  @media

(2)、图标、字体
  @font-face

三、JS 基本使用

1、后台管理
(1)jQueryUI *
(2)EASYUI
 
、WEB框架
(1)介绍
Web 应用框架,或者简单的说是“Web 框架”,其实是建立 web 应用的一种方式。从简单的博客系统到复杂的富 AJAX 应用,web 上每个页面都是通过写代码来生成的。
(2)MVC
Model       View       Controller
、Django
安装:pip3 install django
(1)介绍

Django 项目是一个python定制框架,它源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有:
用于创建模型的对象关系映射
为最终用户设计的完美管理界面
一流的 URL 设计
设计者友好的模板语言
缓存系统。

(2)基本操作

(1)# 创建Django工程
  django-admin startproject 【工程名称】mysite

工程mysite目录树
  - mysite        # 对整个程序进行配置
  - init
  - settings  # 配置文件
  - url       # URL对应关系
  - wsgi      # 遵循WSIG规范,uwsgi + nginx
  - manage.py     # 管理Django程序:


(2) 运行Django功能
python manage.py runserver 127.0.0.1:8001
# 创建app等
python manage.py startapp cmdb
python manage.py startapp openstack
python manage.py startapp xxoo....
python manage.py makemigrations
python manage.py migrate

app:
- migrations     数据修改表结构
- admin          Django为我们提供的后台管理
 - apps           配置当前app
 - models         ORM,写指定的类  通过命令可以创建数据库结构
 - tests          单元测试views          
  -   业务代码

(3)配置

a、配置模板的路径

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
b、配置静态目录
static

STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)

<link rel="stylesheet" href="/static/commons.css" />

四、本节内容整理
1. 创建Django工程
  django-admin startproject 工程名
2. 创建APP
  cd 工程名
  python manage.py startapp cmdb
3、静态文件
  project.settings.py

  STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)

4、模板路径

  DIRS ==>    [os.path.join(BASE_DIR,'templates'),]

5、settings中

  middlerware

  # 注释 csrf

6、定义路由规则
  url.py

  "login" --> 函数名

7、定义视图函数
  app下views.py
  def func(request):
  # request.method   GET / POST
  # http://127.0.0.1:8009/home?nid=123&name=alex
  # request.GET.get('',None)   # 获取请求发来的而数据
# request.POST.get('',None)
  # return HttpResponse("字符串”)
        # return render(request, "HTML模板的路径")
# return redirect('/只能填URL')

8、模板渲染
  特殊的模板语言

-- {{ 变量名 }}
def func(request):
return render(request, "index.html", {'current_user': "alex"})
index.html
<html>
<body>
<div>{{current_user}}</div>
</body>
</html>

-- For循环
def func(request):
  return render(request, "index.html", {'current_user': "alex", 'user_list': ['alex','eric']})

index.html
<html>
<body>
  <div>{{current_user}}</div>
  <ul>
  {% for row in user_list %}
  {% if row == "alex" %}
  <li>{{ row }}</li>
  {% endif %}
  {% endfor %}
  </ul>
</body>
</html>

—索引
def func(request):
  return render(request, "index.html", {
'current_user': "alex",
'user_list': ['alex','eric'],
'user_dict': {'k1': 'v1', 'k2': 'v2'}})

index.html
<html>
<body>
  <div>{{current_user}}</div>
  <a> {{ user_list.1 }} </a>
    <a> {{ user_dict.k1 }} </a>
  <a> {{ user_dict.k2 }} </a>
</body>
</html>
--条件
def func(request):
  return render(request, "index.html", {
'current_user': "alex",
  "age": 18,
'user_list': ['alex','eric'],
'user_dict': {'k1': 'v1', 'k2': 'v2'}})
index.html
<html>
<body>
  <div>{{current_user}}</div>
  <a> {{ user_list.1 }} </a>
  <a> {{ user_dict.k1 }} </a>
  <a> {{ user_dict.k2 }} </a>
  {% if age %}
  <a>有年龄</a>
  {% if age > 16 %}
  <a>老男人</a>
  {% else %}
  <a>小鲜肉</a>
  {% endif %}
  {% else %}
  <a>无年龄</a>
  {% endif %}
</body>
</html>

作业:
XXOO管理:
MySQL
SQLAlchemy
主机管理(8列):
IP
端口
业务线
...

用户表:
用户名
密码

功能:
1、 登录
2、主机管理页面
- 查看所有的主机信息(4列)
- 增加主机信息(8列) ** 模态对话框
3、查看详细
url:
"detail" -> detail

def detail(reqeust):
nid = request.GET.get("nid")
v = select * from tb where id = nid
...
4、删除
del_host -> delete_host

def delete_host(request):
nid = request.POST.get('nid')
delete from tb where id = nid
return redirect('/home')

Python的平凡之路(18)的更多相关文章

  1. Python的平凡之路(8)

    (本文是对平凡之路(7)的补充等) 一.动态导入模块 import importlib __import__('import_lib.metaclass') #这是解释器自己内部用的 #importl ...

  2. Python的平凡之路(20)

    (提问复习为主) 一.Django请求的生命周期      武彦涛:           路由系统 -> 视图函数(获取模板+数据=>渲染) -> 字符串返回给用户     二.路由 ...

  3. Python的平凡之路(13)

    一.Python的paramiko模块介绍 Python 的paramiko模块,该模块和SSH用于连接远程服务器并执行相关操作 SSH client 用于连接远程服务器并执行基本命令 基于用户名和密 ...

  4. Python的平凡之路(12)

    一.数据库介绍 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数据存储在文件中,但 ...

  5. Python的平凡之路(9)

    一.Paramiko模块练习 1. Paramiko模块介绍 Paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接   2 .SSHclie ...

  6. Python的平凡之路(6)

    一.面向对象编程介绍 1 编程范式:          编程范式(Programming Paradigm)是某种编程语言典型的编程风格或者说是编程方式.随着编程方法学和软件工程研究的深入,特别是OO ...

  7. Python的平凡之路(5)

    一.模块介绍 定义: 模块--用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件(文件名test.py,模块名test) 包—用来从逻辑上组织 ...

  8. Python的平凡之路(3)

     一.函数基本语法及特性 面向对象:(华山派)—类 —class 面向过程:(少林派)—过程 —df 函数式编程:逍遥派    —函数— df 一般的,在一个变化过程中,如果有两个变量x和y,并且对于 ...

  9. Python的平凡之路(19)

    一.Django请求生命周期   对于所有的web框架来说本质就是一个socket服务端,浏览器是socket客户端                                          ...

随机推荐

  1. Js 常用函数

    1. 算数函数(Math) 1)Js小数取整 常用于:分页算法 js 小数取整的函 .丢弃小数部分,保留整数部分 js:parseInt(/) .向上取整,有小数就整数部分加1 js: Math.ce ...

  2. 03.JavaScript 面向对象精要--理解对象

    JavaScript 面向对象精要--理解对象 尽管JavaScript里有大量内建引用类型,很可能你还是会频繁的创建自己的对象.JavaScript中的对象是动态的. 一.定义属性 当一个属性第1次 ...

  3. 删除文件夹工具【fuckwinfsdel】,如 node_modules

    强力删除文件夹. 安装 npm install fuckwinfsdel -g 使用 fuckwinfsdel youdir 例 fuckwinfsdel node_modules 项目地址 http ...

  4. java:同步和死锁

    多个线程共享一个资源的时候需要进行同步(否则会出现错误:如负数,重复数),但是过多的同步会造成死锁. synchronized(this) { } 非同步情况: public class SyncTh ...

  5. VB用windows API激活子窗体

    http://files.cnblogs.com/files/liuzhaoyzz/%E6%BF%80%E6%B4%BB%E5%AD%90%E7%AA%97%E4%BD%93.rar setforeg ...

  6. ireport5.6+jasperreport6.3开发(一)--中文环境配置在

    ireport在pdf的情况下无法显示中文字的解决方法 1,首先下载宋体的ttf(注意ttc的不行)下载链接如下(注意你可以用其他的ttf不一定要宋体) http://files.cnblogs.co ...

  7. Table 'performance_schema.session_variables' doesn't exist

    出现标题所示错误时设置如下参数可以解决!set @@global.show_compatibility_56=ON;

  8. OpenBSD内核之引导PBR

    OpenBSD引导的第二部PBR,也是活动分区的一个扇区的代码,由第一步的MBR加载到0x7C00处,manpage里详细的讲解了过程和大致实现 biosboot(8) (http://man.ope ...

  9. 常看常遇见之一——BS架构VS CS架构

    常看常遇见之一——BS架构VS CS架构 1.BS架构 即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构.在这种结构下,用户 ...

  10. 当 jquery.unobtrusive-ajax.js 遇上Web API

    最近在熟悉Abp框架,其基于DDD领域驱动设计...前段可以绕过mvc直接调用根据app层动态生成的webapi,有点神奇~,Web API之前有简单接触过,WCF的轻量级版,一般用于做一写开发性的服 ...