一、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

多行匹配:
  默认就是多行匹配

二、组件

1、BootStrap
    - css
    - js
  学习 BootStrap 规则
    (1)响应式
    @media
    (2)图标、字体
    @font-face
    (3)基本使用

========》 后台管理
2、jQueryUI *
    - css
    - js
  学习 jQueryUI 规则

3、EasyUI
    - css
    - js
  学习 jQueryUI 规则

三、web框架

1、MVC
  Model View Controller
  数据库 模板文件 业务处理

2、MTV

  Model Template View
  数据库 模板文件 业务处理

############## WEB:MVC、MTV

四、Django

1、安装和目录结构说明

pip3 install django
C:\Python35\Scripts
# 创建Django工程
django-admin startproject 【工程名称】

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

# 运行Django功能
python manage.py runserver 127.0.0.1:8001
chouti
  - chouti
  - 配置
  - 主站 app
  - 后台管理 app
# 创建app
python manage.py startapp cmdb
python manage.py startapp openstack
python manage.py startapp xxoo....

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

(1)配置模板的路径

        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',
],
},
},
]

(2)配置静态目录

        static

        STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
) <link rel="stylesheet" href="/static/commons.css" />

2、内容整理

(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> ====> 最后生成的字符串 <html>
..
<body>
<div>alex</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>

python自动开发之第十八天的更多相关文章

  1. python自动开发之第十三天

    1.Paramiko模块下的demo.py程序     前面利用Python中的Paramiko模块可以进行SSH的连接,以及用来传送文件(SFTP),但是无论是哪一种方式,连接都是短暂的,并非是长连 ...

  2. python自动开发之第二十一天

    一.请求周期 url> 路由 > 函数或类 > 返回字符串或者模板语言? 1.Form表单提交: 提交 -> url > 函数或类中的方法 - .... HttpResp ...

  3. python自动开发之第二十五天

    一.组合搜索 参考: http://www.cnblogs.com/ccorz/p/5985205.html 二.JSONP 1.在同源策略下,在某个服务器下的页面是无法获取到该服务器以外的数据的,但 ...

  4. python自动开发之第二十四天(Django)

    一.ModelForm操作及验证 1.class Meta:class Meta: #注意以下字段不能加逗号 model = models.UserInfo #这里的all代指所用的字段,也可以是一个 ...

  5. python自动开发之第二十二天

    知识点概要 - Session - CSRF - Model操作 - Form验证(ModelForm) - 中间件 - 缓存 - 信号 一. Session 基于Cookie做用户验证时:敏感信息不 ...

  6. python自动开发之第十二天

    一.数据库的介绍 (1)由多张表组成(2)存取有规则,数据有关联(3)数据量大,被优化 好处:更有效的存取数据 二.关系型数据库管理系统(RDBMS) Oracle,Mysql,Sqlserver,D ...

  7. python自动开发之(算法)第二十七天

    1.什么是算法? 算法(Algorithm):一个计算过程,解决问题的方法 2.复习:递归 递归的两个特点:(1) 调用自身 (2)结束条件 def func1(x): print(x) func1( ...

  8. python自动开发之第二十三天(Django)

    一.一大波model操作 1. 创建数据库表 # 单表 # app01_user ==> tb1 # users class User(models.Model): name = models. ...

  9. 【转】windows和linux中搭建python集成开发环境IDE

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

随机推荐

  1. .Net设计模式_单列模式

    理解 博友的经典说法:很多人排队去厕所蹲坑一样,每一次只能让一个人去蹲坑,这是一种通俗的理解. 理论上的理解则为,我们需要写一个类,这个类的作用就是控制,从而保证在整个应用程序的生命周期中,在任何时刻 ...

  2. SQL-LINQ-Lambda语法对照

    SQL LINQ Lambda SELECT *FROM HumanResources.Employee from e in Employees select e Employees .Select ...

  3. uva1393 Highways

    留坑(p.339) 已填(膜汪) 每条直线至少经过两个点,我们不妨在经过的所有点中的第二个点统计它 设f[i][j]表示i * j的答案,那么显然可以用f[i][j] = f[i - 1][j] + ...

  4. HDU 1231 (13.12.2)

    Problem Description 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 <= i < ...

  5. Mybatis 控制台打出Sql-Log的设置

    首先工程中必须要有slf4j-log4j12-1.7.12.jar这个包,否则打不出来 而后工程中“log4j.properties”文件如下: log4j.appender.stdout=org.a ...

  6. 用ISE14.7引用功能强大的UltraEdit编写Verilog

    对于FPGA初学者来说,使用FPGA编译软件所带的编辑器写代码已经完全够用,但随着工程的不断增大,ISE自带的编辑器用起来显得有点力不从心,所以本文中我将为大家分享一款功能强大的编辑软件UltraEd ...

  7. android 52 粘滞广播

    粘滞广播:广播发送出去以后,广播接收者还没有创建,当广播接收者注册的时候就可以接收,如果不是粘滞广播则如果没有广播接收者就以后不能再接收了. mainActivity: package com.sxt ...

  8. jersey + tomcat 实现restful风格

    本文参考 http://www.cnblogs.com/bluesfeng/archive/2010/10/28/1863816.html 环境: idea 15.0.2 jersey 1.3 tom ...

  9. Marketplace Client- Download

    Marketplace是Java平台被广泛使用的IDE(集成开发环境)Eclipse的软件商店.上面有个有种牛X的插件,可根据自己需要下载. Eclipse Marketplace官网地址:http: ...

  10. jquery实现很简单的DIV拖动

    今天用jquery实现了一个很简单的拖动...实现思路很简单  如下: 在thickbox 弹出层内实现拖拽DIV,那么得进行一下相对宽高的运算:必须加上相对于可见窗口宽高和弹出层宽高之间的差:    ...