*Django

MVC和MTV

MVC model view controller
MTV model template view

pip3 install django
添加环境变量 C:\Python35\Scripts

# 在cmd中创建Django工程
cd e:#进入e盘
django-admin startproject 【工程名称】
cd:【工程名称】

# 运行Django功能
python manage.py runserver 127.0.0.1:8001

首先在工程的settings中
  1、配置模板的路径
  TEMPLATES = []中有一个   'DIRS': [os.path.join(BASE_DIR, 'templates')],  一般默认配置好了

  2、配置静态目录
  在STATIC_URL = '/static/'下面添加:
  STATICFILES_DIRS = (
  os.path.join(BASE_DIR, 'static'),
  )
  

内容整理
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  url中的url要与html文件里<form action=‘...’>表单的内容一致,/有都有,没有都没有

"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模板的路径名字")   如index.html等,路径要有.html,而url只需到***.com或者/home就好了。html模板中的action=‘/login’前面必须带/,login/后面的/要与urlsetting中的一致
# return redirect('/只能填URL') 可以是具体的url如http://www.baidu.com,也可以是urls.py中设置的如/home, /代指本地根目录127.0.0.1:8000这个要在url设置里与views函数做一个匹配。
urls.py里的 url('^login/', views.login), views里也要 return redirect('/cmdb/login/')  ,return render(request,'login.html',{:}) ,这里没有/,但是对于templates/test/login.html 要写return render(request,'test/login.html',{:}) , html模板中<form action="/cmdb/login/" method="post" >

 

ORM操作

uid = models.AutoField(primary_key=True)   在django中自增列必须为主键

 

html模板中<form>表单提交时,以类似字典的形式提交到action的一个url,需要 <input id="username" name="user" type="text"/> 写上name属性,这样在views函数中才能用 request.POST.get('user',None) 或 request.POST['user'](这种易出错)的方式取到input框里输入的值  

 

Templates
- 母版...html
extends
include
- 自定义函数
simple_tag
a. app下创建templatetags目录
b. 任意xxoo.py文件
c. 创建template对象 register
d.
from django import template
from django.utils.safestring import mark_safe
register = template.Library()

@register.simple_tag
def func(a1,a2,a3....)
return "asdfasd"
e. settings中注册APP
f. 顶部 {% load xxoo %}
g. {% 函数名 arg1 arg2 %}
缺点:
不能作为if条件
优点:
参数任意
@register.filter
a. app下创建templatetags目录
b. 任意xxoo.py文件
c. 创建template对象 register
d.
@register.filter
def func(a1,a2)
return "asdfasd"
e. settings中注册APP
f. 顶部 {% load xxoo %}
g. {{ 参数1|函数名:"参数二,参数三" }} {{ 参数1|函数名:数字 }}
缺点:
最多两个参数,不能加空格
优点:
能作为if条件

分页(自定义的分页)

XSS:
{{ page_str|safe }}

mark_safe(page_str)

cookie
客户端浏览器上的一个文件
{"user": 'dachengzi'}

session :装饰器


Models
- 一大波操作

Form验证
-
缓存
中间件
信号
CSRF
Admin/ModelForm

 

 

 

posted @ 2017-12-29 15:13  Andy__li  阅读(134)  评论(0)    收藏  举报