Django

Posted christychang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django相关的知识,希望对你有一定的参考价值。

参考书:The Django Book 中文版

Django简介

目前最流行的Python Web开发框架

Django框架负责处理大部分web开发底层细节,我们可以专注于开发web应用,避免重复制造轮子。


优势:
1.快速开发 用python,数据库ORM系统

2.大量内置应用 后台管理系统admin,用户认证系统auth,会话系统sessions

3.安全性高 表单验证,sql注入,跨站点攻击

4.易于拓展

知识储备:

Python基础,数据库sql,http协议,html&css,正则表达式

 

 

搭建Django开发环境

ubantu14.04 python2.7 Django

1.安装python

ubantu自带

2.ipython(推荐)

sudo apt-get install ipython
sudo pip install ipython

3.安装pip

sudo apt-get install python-pip

4.安装Django

(1)通过pip sudo pip install Django (用超级用户权限) 注意大写D,小写不行
[卸载pip uninstall django]
或者(2) 源码安装 安装git sudo apt-get install git
git clone https://github.com/django/django 就可下载django的原码
进入目录,执行 sudo python setup.py install

5.创建第一个项目
django-admin startproject mysite(工程名)


cd mysite
python manage.py runserver

就可在浏览器访问127.0.0.1:8000访问了

 

 

创建工程及应用


1.工程目录讲解

manage.py (做所有的事情都要找它)管理项目:包括数据库建立、服务器运行、测试。。。
                  1.关于服务器的启动 python manage.py runserver 0.0.0.0:8080 可设定0.0.0.0为可由任意网络接口访问我这个网站,端口为8080
                  2.python manage.py shell 进入交互式命令行界面ipython,如访问数据库里的数据,调试

                  最常用:runserver 开启、migrate、makemessages更新数据库表、sehll

mysite下 settings.py 重要!所有配置文件:应用、中间件、数据库、静态目录各类配置
                   urls.py URL映射配置文件:决定一个url访问被哪个程序(函数)响应
                   wsgi.py python应用程序或框架和web服务器礼之间的接口

2.创建应用

django使用应用来分割功能 ,最大的应用是应用可以复用 如游戏网站:游戏新闻,游戏论坛,Blog系统,在线商城

2.1创建应用blog python manage.py startapp bolg
2.2添加应用 mysite/settings.py ->INSTALLED_APPS \'blog\'

3.应用目录讲解

views.py 响应客户请求返回html页面,每一个页面是应用目录下的views.py生成的,它返回一个html页面级用户
models.py 定义数据库中的表,标题,作者等字段
admin.py admin相关,管理数据库后台,对数据库内容增删改查
test.py 测试相关

 


开发一个小例子,小博客

一次web访问的实质:1.客户发送http请求到web服务器。2.web服务器返回html页面级客户。

1.url配置 建立url和与响应函数之间的关系
2.视图Views 响应http请求,进行逻辑处理,返回给用户html页面
3.模型Models 描述我们服务器存储的数据(数据库的表)
4.模板templates 用来生成html页面。返回给用户的html是由数据(模型)和模板渲染出来的。

 

settings.py   添加blog

 

 

 

生成的blog目录

 

 

 

urls.py 添加url正则及对应的(程序)函数

 

 

 

 views.py 返回给用户html页面 

 

 

 

Models.py  描述服务器存储的数据 

 

 

 

 templates.py   用来生成html页面

 

 

以上是关于Django的主要内容,如果未能解决你的问题,请参考以下文章

DjangoDjango 文件下载最佳实践

DjangoDjango模块创建应用程序

DjangoDjango 如何支持 分组查询统计?

DjangoDjango Debug Toolbar调试工具配置

DjangoDjango中的模糊查询以及Q对象的简单使用

djangodjango-redis的使用方法