Django
----------------------------------------------------- python-web -----------------------------------------------------------------------------------------------------------------
ajax:(异步JavaScript和xml)创建交互式网页应用的网页开发技术,可以实现网页异步更新,不重新加载整个页面情况下对网页部分进行更新;异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其他线程将处理完成并回调通知此线程;
Css引入方式:嵌入式,导入式,链接式;基础选择器:*通用选择器,标签选择器,id、class选择器;css组合选择器:多元素选择器,后代元素选择器,子元素选择器,毗邻选择器;
块级标签可以包含内联元素或某些块级元素,但内联元素不能包含块级元素,它只能包含其它内联元素;有几个特殊的块级元素只能包含内联元素,不能包含块级元素(h1,h3,p,dt);li内可以包含div;块级元素与块级元素并列,内联元素与内联元素并列;
Css选择器优先级:内联样式style=’’1000;统计选择符id=100;class=10;html标签=1;
! import 声明冲突优先级最高; *客户端引用浏览器发送给服务器之后,服务打包给的信息对象。
#---------------Python包含一个名为SQLite的轻量级数据库,因此您不需要设置数据库
#1.创建Django项目
CMD,进入代码存放路径下新建一个目录d 进入目录,使用 django-admin 来创建 website 项目:
django-admin startproject website
创建完成后我们可以查看下项目的目录结构;
tree
2.新建App
python manage.py startapp app_name 或 django-admin.py startapp app_name
3.把新定义的app加到setting.py中的INSTALL_APPS中;
备注:新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件)
4.定义视图函数(访问页面展示的内容)
5.定义视图函数相关的url(即规定访问什么网址对应什么内容)
#进入项目路径下输入以下命令,启动服务器:2.指定IP访问
python manage.py runserver
python manage.py runserver 0.0.0.0:8000
--------目录结构说明:
manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
settings.py: 该 Django 项目的设置/配置。
urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
--------------Django应用模板实例:
使用 django.http.HttpResponse() 来输出 "Hello World!"。该方式将数据与视图混合在一起,不符合 Django 的 MVC 思想。详细介绍 Django 模板的应用,模板是一个文本,用于分离文档的表现形式和内容。
jsbin.com --> js调试地址
django: VIEW: httprequest ->path,method,GET,POST,user,session,get_full_path(); httpresponse:render页面渲染,render_to_response,redirect页面跳转,locals()直接将函数中的所有变量传给模板;
from django.template import Context,Template # python managepy shell 进入django项目的环境;
t = Template('My name is {{name}}')
c = Context({'name':'Stephne'})
t.render(c) #Template对象调用render()方法来渲染Context对象;
{% verbatim%}:禁止render
{% url %}引用路由配置的地址
{% with %} 用简单的变量名替代复杂的变量名
请求响应http:发送http请求,服务器端接收,根据请求中的url在路由关系关系表中进行匹配,匹配成功执行指定的views函数,业务处理
自定义filter和simple_tag:
1.在app中创建templatetags模块,2.创建任意.py文件,3.在使用自定义simple_tag和filter的html文件中导入创建的模块{% load myTag%},
filter局限性:传参只能传一个,simple_tag局限性:不可以用在控制语句里;
from django import template
from django.utils.safestring import mark_safe
register = template.Library() #register名字固定,不可改变
django==>mysql:python manage.py makemigrations; python manage.py migrate;
python-django ORM可避免面新手sql带来的性能问题,原生sql