@第一节课程内容

  1. js正则

登录注册验证

@text-判断字符串是否符合规定的正则

@exec-获取匹配的数据

  1. bootstrap(组件)

–css

–js

学习bootstrap规则

  1. jQueryui(同2)
  2. easyUI(同2)
  3. web框架
  4. Django

里面Orm框架只占10分之一,但是水平特别高

@js的正则

@

@

@18周第二节,没细看,到第六节没看

@@@第七节Django框架

@web本质就是socket

@字符串变字节

b’ str’

bytes(‘str’,encoding=’utf-8’)

‘str’.encode(‘utf-8’)

@mvc:model ,view ,controller,数据库+模板文件+业务处理

Mtv:model,template,view数据库+模板文件+业务处理

@Django是基于mtv

@@@@第十八周第八节

@安装完Django

F:\pyproject\Scripts

django-admin.exe startproject mysite#创建

@2018.8.7

@python manage.py runserver 127.0.0.1:8001#指定端口并运行

@@@第十八周第九节

@# 创建Django工程

django-admin startproject 【工程名称】

mysite

- mysite        # 对整个程序进行配置

- init

- settings  # 配置文件

- url       # URL对应关系

- wsgi      # 遵循WSGI规范或者uwsgi + nginx自建

- manage.py     # 管理Django程序:

@wsgi是一套规则、接口

http://www.cnblogs.com/wupeiqi/articles/5341480.html

Django依赖别人的socket,通过wsgi

@python manage.py #运行

- python manage.py startapp xx#创建

- python manage.py makemigrations#创建数据库

- python manage.py migrate#创建数据库

@启动已有django

python manage.py runserver 8000

@chouti

- chouti

- 配置

- 主站 app

- 后台管理 app

@# 创建app

python manage.py startapp cmdb

python manage.py startapp openstack

python manage.py startapp xxoo....

@migration迁移

@创建app自动生成:

migrations     数据修改表结构

admin          Django为我们提供的后台管理

apps           配置当前app

models         ORM,写指定的类  通过命令可以创建数据库结构

tests          单元测试

views          业务代码

@#都用static

@ 1、配置模板路径
'DIRS': [os.path.join(BASE_DIR,'templates')],

2、#配置静态目录,以外部直接访问静态目录
STATICFILES_DIRS=(
    os.path.join(BASE_DIR,'static'),,#不加逗号就报错
)

3、html里面引用模板<link rel="stylesheet" href="/static/commons.css" />

@scrf跨站请求伪造

在settings里面找到middleware里面的scrf注释掉。

@表单提交错误

You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set

解决方法:

Html里action 修改为 action="/a/b/"即可修复

这是django特殊的错误,url和views里面的action的login有没有斜杠要一致。

@html里面取字典的值只能用(.)没有[]这一说

@内容整理

1. 创建Django工程

django-admin startproject 工程名

2. 创建APP

cd 工程名

python manage.py startapp cmdb#在pycha里面的terminal里创建就行

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)   # 获取直接修改浏览器里的url请求发来的而数据

# 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 %}#字典user_dict.values

{% 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-day18 JS正则,组件BootStrap、EasyUI、JQueryUI1,插件轮播,django的更多相关文章

  1. Bootstrap历练实例:轮播(carousel)

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  2. Bootstrap 模态框、轮播 结合使用

    Bootstrap 模态框和轮播分开使用的教程网上非常多.可是两者结合使用的样例和资料非常少. 两者结合使用时,開始我遇到了不少bug,如今分享给大家. 我的这个样例是把图片轮播嵌入到模态框里. 最后 ...

  3. 使用BootStrap框架中的轮播插件

    在使用bootstrap框架中的轮播插件时,效果做出来后,无法通过点击小圆行的按钮来选择特定的图片. 后面发现是最开始的<div>标签中少写了一个id.一开始<div>标签是这 ...

  4. Js实现图片点击切换与轮播

    Js实现图片点击切换与轮播 图片点击切换 <!DOCTYPE html> <html> <head> <meta charset="UTF-8&qu ...

  5. day18 js 正则,UI框架,Django helloworld 以及完整工作流程

    JS正则:    text     判断字符串是否符合规定的正则表达式    exec    获取匹配的数据   默认情况下: 只要能匹配到就返回true 否则返回false 只匹配数字:   所以J ...

  6. BootStrap学习(7)_轮播图

    一.轮播图 Bootstrap 轮播(Carousel)插件是一种灵活的响应式的向站点添加滑块的方式.除此之外,内容也是足够灵活的,可以是图像.内嵌框架.视频或者其他您想要放置的任何类型的内容. 如果 ...

  7. <day006>bootstrap的简单学习 + 轮播图

    任务1:bootstrap的简单学习 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta c ...

  8. bootstrap移动 pc 响应轮播

    PC端效果 width100% 移动端 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta ...

  9. js 基础篇(点击事件轮播图的实现)

    轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...

随机推荐

  1. tornado上帝视角第一次建立WEB服务器

    import tornado.ioloop import tornado.web 该视角建立在SOCKET服务端和客户端的基础上. class MainHandler(tornado.web.Requ ...

  2. Python的内置方法——补充

    七 __setitem__,__getitem__,__delitem__ class Foo: def __init__(self,name): self.name=name def __getit ...

  3. highchart在IE8下面的显示问题解决

    完整的代码: <!DOCTYPE HTML><html> <head> <meta http-equiv="Content-Type" c ...

  4. superReducedString-hankerrank

    Steve has a string of lowercase characters in range ascii[‘a’..’z’]. He wants to reduce the string t ...

  5. gtest 参数化

    前言: 在测试用例中,我们时常需要传给被测函数不同的值,gtest为我们提供了简便的方法,可以使我们能够灵活的进行参数化测试. 步骤: 1.创建一个类,继承testing::TestWithParam ...

  6. Go 字符串连接+=与strings.Join性能对比

    Go字符串连接 对于字符串的连接大致有两种方式: 1.通过+号连接 func StrPlus1(a []string) string { var s, sep string for i := 0; i ...

  7. c语言题库---- 函数

    ---恢复内容开始--- 1.编写一个函数,功能为返回两个int类型参数的最大的值 #include <stdio.h>int FindMax( int a, int b); int ma ...

  8. c# 实现 HSV 调色板

    界面相关核心代码如下: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private vo ...

  9. PythonStudy——nonlocal关键字

    # 作用:将局部的变量提升为嵌套局部变量# 1.必须有同名嵌套局部变量,就是统一嵌套局部与局部的同名变量# -- 如果局部想改变嵌套局部变量的值(发生地址的变化),可以用nonlocal声明该变量 d ...

  10. edgedb 集成timescaledb

    timescaledb 是一个强大的pg 扩展,可以让我们的pg 数据库支持时序数据库的能力,以下测试下与edgedb 集成 预备 因为edgedb 当前是基于pg11 开发的,所以需要使用pg11 ...