一、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. 理解tcp协议的3次握手和面向连接

    1.tcp是有连接的, 这个不是说他有个实际的连接,这个是个虚拟的连接,连接的保持信息不是由连接的路线来保存的,他是由连接的两方来保存其状态信息,这就是面向连接的, 2.tcp要3次握手: 客户端发给 ...

  2. latex 竖排子图的生成

    latex命令如下: 需要的包为: \usepackage{graphicx} \usepackage{subfigure} \begin{figure*}%加*的作用是跨栏(双栏和单栏latex的区 ...

  3. 用js生成PDF的方案

    在java里,我们常用Itext来生成pdf,在pdf文件里组合图片,文字,画表格,画线等操作,还会遇到中文支持的问题. 那好,现在想直接在web前端就生成pdf怎么办,目前有以下几个解决方案 1:J ...

  4. liunx ln -s 软连接

    项目中遇到不同项目中上传图片共享问题 解决方法就用到了 liunx的ln -s 的软连接, 用法: liunx ln -s 文件路径 实现共享思路:不同的目录都软连接到同一个目录

  5. 对Android开发者有益的40条优化建议

    下面是开始Android编程的好方法: 找一些与你想做事情类似的代码 调整它,尝试让它做你像做的事情 经历问题 使用StackOverflow解决问题 对每个你像添加的特征重复上述过程.这种方法能够激 ...

  6. 用margin还是padding

    用margin还是用padding这个问题是每个学习CSS进阶时的必经之路. CSS边距属性定义元素周围的空间.通过使用单独的属性,可以对上.右.下.左的外边距进行设置.也可以使用简写的外边距属性同时 ...

  7. javac 导入第三方jar包

    如果是导入一个包,只需要 javac -classpath xxx/xxx/xxx.jar xxx.java 即可 如果有多个包,windows下用分号隔开,Lunix下用冒号隔开即可.

  8. [HTML/HTML5]7 使用列表

    7.1  在Web页面中使用有序.无序.定义列表 (1)有序列表 有序列表中的每一个列表项之前,都以一个数字或字母作为编号. <ol> <li>树莓</li> &l ...

  9. [转]CSS hack大全&详解

    转自:CSS hack大全&详解 1.什么是CSS hack? CSS hack是通过在CSS样式中加入一些特殊的符号,让不同的浏览器识别不同的符号(什么样的浏览器识别什么样的符号是有标准的, ...

  10. oralce 密码长度

    Oracle 11G的新特性所致, Oracle 11G创建用户时缺省密码过期限制是180天, 如果超过180天用户密码未做修改则该用户无法登录. Oracle提示错误消息ORA-28001: the ...