一、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. 关于STM32的抢占式优先级说明。——Arvin

    关于STM32的中断设置.--Arvin 中断 STM32 很多人在配置STM32中断时对固件库中的这个函数NVIC_PriorityGroupConfig()配置优先级分组方式,会很不理解,尤其是看 ...

  2. swagger for c# webapi

    最近迷上了前后端分离的开发架构,工作中的项目几乎都采取这种模式,自己主要担任服务端RestFul风格的Webapi开发.那么问题来了,当前端开发人员找我要api说明文档的时候,曾一度非常可耻的冒出过w ...

  3. Java学习之Iterator(迭代器)的一般用法 (转)

    迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价 ...

  4. 7 -- Spring的基本用法 -- 1...2

    7.1 Spring简介和Spring4.0的变化 7.1.1 Spring 简介 当使用Spring框架时,必须使用Spring Core Container(即Spring容器),它代表了Spri ...

  5. 无线OSS-高精度整数加法

    #include<iostream> #include<string> using namespace std; int compareStr(string str1, str ...

  6. css3实现颜色渐变以及兼容性处理

    有时我们会看到网站上的一些图片是渐变色的,这些图片有的是ui设计出来的,有的则是直接通过css3制作出来的.下面就讲一下css3实现渐变色的方法,以及在各个浏览器上的兼容性. CSS3 Gradien ...

  7. MEF 生命周期PartCreationPolicy

    为什么要单独把这个生命周期捞出来单独说一说呢?因为我今天就被这个东东坑了一把……新加了一个界面,第二次打开界面的时候会报错“指定的元素已经是另一个元素的逻辑子元素”.好嘛,我一看,哟,感觉就是xaml ...

  8. JBoss-7.1.1 http访问端口修改

    修改http服务端口 找到 jboss-as-7.1.1.Final/standalone/configuration/standalone.xml文件,找到第298行,如下图: 如果我们想改成80端 ...

  9. 利用ajax向jsp传输数据

    ajax代码 var obtn=document.getElementsByTagName('input')[0]; obtn.onclick=function () { var xhr=null; ...

  10. Ubuntu 16.04 安装 .NET Core[转]

    upir@upir-Rev-1-0:~$ sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos ...