django:使用python开发的web框架
1.为什么使用?
①快速开发 用python开发
数据库ORM系统
②大量内置应用 后台管理系统admin
用户认证系统auth
会话系统sessions
③安全性高 表单验证
SQL注入
跨站点攻击
④易于拓展
知识储备:Python基础 数据库SQL HTTP协议 HTML&CSS 正则表达式(对文本进行处理)
安装要求:
Python 2.7、3.2、3.3和3.4
pip install django
2.创建站点
step1:新建mysite
django-admin startproject mysite
[root@host mysite]# tree
.
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
1 directory, 5 files
step2:开启站点,启动webserver
[root@host mysite]# python manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
May 18, 2016 - 02:33:50
Django version 1.9.6, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
step3:在浏览器上访问:
http://127.0.0.1:8000/
3.创建工程及应用
文件分析:
①#python manage.py 查看子命令
常用的命令有runserver、 shell、{migrate、makemigrations管理数据库}
#python manage.py runserver 启动djaango服务器,默认IP,port127.0.0.1:8000
#python manage.py runserver 0.0.0.0 8080 允许任何ip访问
#python manage.py shell 进入交互式命令行界面,可以直接访问数据库
②运行网站以后会多出一个文件:db.sqlite3
[root@host mysite]# tree
.
├── db.sqlite3
├── manage.py
└── mysite
├── __init__.py
├── __pycache__
│ ├── __init__.cpython-34.pyc
│ ├── settings.cpython-34.pyc
│ ├── urls.cpython-34.pyc
│ └── wsgi.cpython-34.pyc
├── settings.py
├── urls.py
└── wsgi.py
③setting.py 网站的配置文件:应用、中间件、数据库、静态目录各类配置
④urls.py url映射配置文件:决定一个url访问被那个程序(函数)响应
⑤wsgi.py python应用程序或框架和web服务器之间接口 ——django与大型服务器比如apache之间的接口
创建应用:
1.创建应用:
#django-admin startapp blog
#tree blog/
blog/
├── admin.py:admin相关的
├── apps.py
├── __init__.py
├── migrations:与数据库有关
│ └── __init__.py
├── models.py:定义数据库中的表
├── tests.py:测试相关
└── views.py:响应客户返回html页面
2.添加应用blog
#vim mysite/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]
[root@st mysite]# vim blog/views.py
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def hello(request):
return HttpResponse('<html>hello world</html>')
在mysite的urls.py文件中添加:
[root@host mysite]# vim mysite/urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'helloworld', 'blog.views.hello')
]
添加这个url.
启动这个应用:python manage.py runserver
注意此时的路径是mysite(创建的站点下,不能在其他目录下面)
在浏览器中输入:http://127.0.0.1:8000/helloworld
于是页面中就显示了 hello world
4.实例说明
Django概述:
一次web访问的实质:客户发送http请求到web服务器,web服务器返回html页面给客户
url配置:建立url与响应函数之间的关系
视图Views:响应客户http请求,进行逻辑处理,并返回给用户html页面
模型Models:描述我们服务器存储的数据(数据库的表)
模板templates:用来生成html页面。返回给用户的html,是由数据(模型)和模板渲染出来的
1.为什么使用?
①快速开发 用python开发
数据库ORM系统
②大量内置应用 后台管理系统admin
用户认证系统auth
会话系统sessions
③安全性高 表单验证
SQL注入
跨站点攻击
④易于拓展
知识储备:Python基础 数据库SQL HTTP协议 HTML&CSS 正则表达式(对文本进行处理)
安装要求:
Python 2.7、3.2、3.3和3.4
pip install django
2.创建站点
step1:新建mysite
django-admin startproject mysite
[root@host mysite]# tree
.
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
1 directory, 5 files
step2:开启站点,启动webserver
[root@host mysite]# python manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
May 18, 2016 - 02:33:50
Django version 1.9.6, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
step3:在浏览器上访问:
http://127.0.0.1:8000/
3.创建工程及应用
文件分析:
①#python manage.py 查看子命令
常用的命令有runserver、 shell、{migrate、makemigrations管理数据库}
#python manage.py runserver 启动djaango服务器,默认IP,port127.0.0.1:8000
#python manage.py runserver 0.0.0.0 8080 允许任何ip访问
#python manage.py shell 进入交互式命令行界面,可以直接访问数据库
②运行网站以后会多出一个文件:db.sqlite3
[root@host mysite]# tree
.
├── db.sqlite3
├── manage.py
└── mysite
├── __init__.py
├── __pycache__
│ ├── __init__.cpython-34.pyc
│ ├── settings.cpython-34.pyc
│ ├── urls.cpython-34.pyc
│ └── wsgi.cpython-34.pyc
├── settings.py
├── urls.py
└── wsgi.py
③setting.py 网站的配置文件:应用、中间件、数据库、静态目录各类配置
④urls.py url映射配置文件:决定一个url访问被那个程序(函数)响应
⑤wsgi.py python应用程序或框架和web服务器之间接口 ——django与大型服务器比如apache之间的接口
创建应用:
1.创建应用:
#django-admin startapp blog
#tree blog/
blog/
├── admin.py:admin相关的
├── apps.py
├── __init__.py
├── migrations:与数据库有关
│ └── __init__.py
├── models.py:定义数据库中的表
├── tests.py:测试相关
└── views.py:响应客户返回html页面
2.添加应用blog
#vim mysite/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]
[root@st mysite]# vim blog/views.py
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def hello(request):
return HttpResponse('<html>hello world</html>')
在mysite的urls.py文件中添加:
[root@host mysite]# vim mysite/urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'helloworld', 'blog.views.hello')
]
添加这个url.
启动这个应用:python manage.py runserver
注意此时的路径是mysite(创建的站点下,不能在其他目录下面)
在浏览器中输入:http://127.0.0.1:8000/helloworld
于是页面中就显示了 hello world
4.实例说明
Django概述:
一次web访问的实质:客户发送http请求到web服务器,web服务器返回html页面给客户
url配置:建立url与响应函数之间的关系
视图Views:响应客户http请求,进行逻辑处理,并返回给用户html页面
模型Models:描述我们服务器存储的数据(数据库的表)
模板templates:用来生成html页面。返回给用户的html,是由数据(模型)和模板渲染出来的