标签:django
背景中文网站:http://djangobook.py3k.cn/ 建议看完1-8章
英文网站:https://docs.djangoproject.com/en/2.0/
框架
Django 紧紧地遵循这种 MVC 模式,可以称得上是一种 MVC 框架。以下是 Django 中 M、V 和 C 各自的含义:
M ,数据存取部分,由django数据库层处理,本章要讲述的内容。
V ,选择显示哪些数据要及怎样显示的部分,由视图和模板处理。
C ,根据用户输入委派视图的部分,由 Django 框架通过按照 URLconf 设置,对给定 URL 调用合适的 python 函数来自行处理。
由于 C 由框架自行处理,而 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),Django 也被称为 MTV 框架 。在 MTV 开发模式中:
M 代表模型(Model),即数据存取层。该层处理与数据相关的所有事务:如何存取、如何确认有效性、包含哪些行为以及数据之间的关系等。
T 代表模板(Template),即表现层。该层处理与表现相关的决定:如何在页面或其他类型文档中进行显示。
V代表View,业务逻辑层。这一层包含访问模型的逻辑和按照模板显示。你可以认为它是模型和模板的桥梁。
一、Django安装
3种方式:
pip isntall django==版本号 #推荐
easy_install django #easy_install
python setup.py install #源码
源码下载
https://pypi.python.org/pypi/Django
安装步骤:
pip install django==1.6.5
pip list
import django
print(django.get_version())
二、 创建项目
1.创建项目
命令:django-admin.py startproject web #生成子目录文件
[root@huangzp3 web]# tree /root/python/web/
/root/python/web/
├── manage.py
└── web
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
项目文件说明:
__init__.py: 定义一个模块,供import导入调用
setting.py: 配置文件
urls.py: 视图配置文件,相当于MVC的V
wsgi.py: 一般用于结合apache或者nginx
2.修改setting.py配置文件的时区和语言
3.启动django
命令 python manage.py runserver 0.0.0.0:8000
4.web访问
说明:只有工程,没有应用的页面
三、添加应用
1.启动一个应用
两种方法:
python manage.py startapp blog #管理脚本的形式
django-admin.py startapp blog #添加项目的形式
应用文件说明:
models.py:相当于MVC模式的M,定义数据模型
views.oy: 相当于MVC中的V,视图模板
test.py: 测试用
admin.py: 管理用
2.web项目目录下setting.py中,添加应用blog
3.urls.py(属于MVC模型中的C)文件,添加url,并引用index函数
4.在blog应用目录下,views.py模块中定义index函数
说明:先导入django内置模块;定义的函数必须带参数(请求),有请求(参数名可自定义)就有返回,返回字符串前,先用httpResponse内置函数处理
5.WEB访问
其中自定义的返回:
6.自定义web模板目录
说明:在应用blog目录下,创建一个templates目录,目录名固定写死,用于存放web网页文件,定义index.html
7.导入web模板
应用blog目录下,views.py文件,先导入模块
说明:t是一个对象,自动从template目录下加载文件;c也是一个对象,上下文Context,替换index.html里面的标记或者变量,因为写的index.html中没有这些,所有暂时定义为空;t的一个方法,渲染c,最后返回;凡是返回到页面上的,都要通过HttpResponse()
8.关闭进程,再次启动,查看网页
命令 python manage.py runserver 0.0.0.0:8000
四、定义数据模型
MVC中的V就是应用下的views.py和templates,C就是项目下的urls.py文件
MVC模型中的M是应用blog下的modles.py文件,专门定义数据库
1.应用目录blog下,modles.py文件定义数据表
说明:数据类型定义方式,在官网中有说明,如ip地址类型:https://docs.djangoproject.com/en/dev/
class Host(models.Model):
hostname = models.CharField(max_length=50)
ip = models.IPAddressField()
2.检查模型的语法或者逻辑是否有错误
python manage.py validate
3.初始化数据库
1)在项目目录下的setting文件中,可以看到默认数据库为sqllite3,数据库目录在BASE_DIR这层目录,数据库文件名为db.sqlite3
取两层路径,表示当前脚本上一层目录
2)查看系统是否安装sqlite3数据库,没有则yum安装
2.1)进入dbshell,熟悉sqlite3
.help #帮助
.tables #查看表
.exit #退出
2.2)每次执行登录之后,会自动生成一个db.split3文件,也可以删掉
2.3)或者这样进入
2.4)查看数据表,其中id为自动生成
3)同步数据库
命令 python manage.py syncdb
说明:会自动生成一些自带的表,以及认证
3.1)初始化之后,查看表
说明:语法和mysql基本相似
4)管理数据,将数据库数据显示在admin页面
修改应用blog下的admin.py文件
说明:先导入表,然后定义一个类,参数为admin模块,继承ModelAdmin方法;列表写表中的字段;注册host表和管理表
class HostAdmin(admin.ModelAdmin):
list_display = ["hostname","ip"]
admin.site.register(Host,HostAdmin)
5)web查看,并添加数据
6)数据库上查看添加的数据
标签:django
原文地址:http://blog.51cto.com/huangzp/2054575