django初体验
为什么使用django?
1,快速开发
- 用Python开发
- 数据库ORM系统
2,大量内置应用
- 后台管理系统admin
- 用户认证系统 auth
- 会话系统 sessions
3,安全性高
- 进行表单验证
- 防止SQL注入
- 防止跨站点攻击
4,易于拓展
创建工程及应用
在任意目录使用下面命令进行创建工程:
django-admin startproject mysite
查看创建项目的目录结构:
mysite/
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
下面我们进行对这些目录的作用进行分析:
manage.py
管理项目:包括数据库建立,服务器运行,测试等
使用命令: python manage.py 子命令
下面是一些子命令:
Type 'manage.py help <subcommand>' for help on a specific subcommand.
Available subcommands:
[auth]
changepassword
createsuperuser
[django]
check
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
makemigrations
migrate
sendtestemail
shell
showmigrations
sqlflush
sqlmigrate
sqlsequencereset
squashmigrations
startapp
startproject
test
testserver
[sessions]
clearsessions
[staticfiles]
collectstatic
findstatic
runserver
栗子:
启动服务 python manage.py runserver
启动服务的时候指定ip和端口 python manage.py runserver 0.0.0.0:8080
启动shell python manage.py shell
settings.py
该文件是django的配置文件,比如 DEBUG 的开关,应用,中间件,数据库,静态文件的位置等配置。
urls.py
URL映射配置文件:决定一个url访问被哪个程序(函数)响应
网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。
wsgi.py
Python应用程序或框架和Web服务器(例如apache)之间接口
创建应用
django中使用应用来分割功能
例如一个游戏网站里有:游戏新闻,游戏论坛,Blog系统,在线商城等,在创建其他项目的时候,在线商城的应用就可以实现复用。
创建应用语法: python manage.py startapp blog
添加应用语法:将应用添加只配置文件中
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]
查看应用的文件结构:
blog
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
└── views.py
文件结构详解:
views.py
响应客户请求返回html页面
处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。
models.py
定义数据库中的表
与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。
admin.py
admin相关,后台,可以用很少量的代码就拥有一个强大的后台。
test.py
测试相关
templates 文件夹
views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。
forms.py
表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。
Django概述
一次web访问的实质:
1,客户端发送http请求到web服务器
2,web服务器返回html页面给客户
概述:
1,URL配置:建立URL和响应函数之间的关系
2,试图Views:响应客户http请求,进行逻辑处理,返回给用户html页面
3,模型Models:描述我们服务器存储的数据(数据库的表)
4,模板templates:用于生产html页面。返回给用户的html,是由数据(模型)和模板渲染出来的。
文章来源:慕课网