微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

DJango的创建和使用详解(默认数据库sqlite3)

今天小编就为大家分享一篇DJango的创建和使用详解(数据库sqlite3),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1.安装虚拟环境

虚拟环境是真实python环境的复制版本。

安装虚拟环境的命令:

1)sudo pip install virtualenv #安装虚拟环境

2)sudo pip install virtualenvwrapper #安装虚拟环境扩展包

3)编辑家目录下面的.bashrc文件添加下面两行。

export WORKON_HOME=$HOME/.virtualenvs

source /usr/local/bin/virtualenvwrapper.sh

4)使用source .bashrc使其生效一下。

创建虚拟环境命令:

mkvirtualenv 虚拟环境名

创建python3虚拟环境:

mkvirtualenv -p python3 bj11_py3

进入虚拟环境工作:

workon 虚拟环境名

查看机器上有多少个虚拟环境:

workon 空格 + 两个tab键

退出虚拟环境:

deactivate

删除虚拟环境:

rmvirtualenv 虚拟环境名

虚拟环境下安装包的命令:

pip install 包名

注意:不能使用sudo pip install 包名,这个命令会把包安装到真实的主机环境上而不是安装到虚拟环境中。

apt-get install 软件

pip install python包名

安装django环境:

pip install django==1.8.2

查看虚拟环境中安装了哪些python包:

pip list

pip freeze

2.创建项目

django-admin startproject 项目名称

注意:创建应用必须先进入虚拟环境

__init__.py: 说明test1是一个python包。

settings.py: 项目的配置文件

urls.py: 进行url路由的配置

wsgi.py: web服务器和DJanggo交互的入口

manage.py: 项目的管理文件

3.创建应用

一个项目由很多个应用组成的,每一个应用完成一个特定的功能

创建应用的命令如下:

python manage.py startapp 应用名

注 意:创建应用时需要先进入项目目录。

应用目录如下:

__init__.py: 说明目录是一个python模块

models.py: 用于写和数据库项目的内容

views.py: 接收数据,处理数据,与M,T进行交互,返回应答

定义处理函数,视图函数 培养

tests.py: 测试代码文件

admin.py: 网站后台管理相关的文件

建立应用和项目之间的联系,需要对应用进行注册

修改settings.py中的INSTALLED_APPS配置项。

运行开发web服务器命令:

python manage.py runserver

ORM

django中内嵌了ORM框架,ORM框架可以将类和数据表进行对应起来,只需要通过类和对象就可以对数据表进行操作。

设计类:模型类。

ORM另外一个作用:根据设计的类生成数据库中的表。

模型类

模型类设计

在应用models.py中设计模型类。

必须继承与models.Model类。

1) 设计BookInfo类。

2) 设计HeroInfo类。

Models.ForeignKey可以建立两个模型类之间一对多的关系,django在生成表的时候,就会在多的表中创建一列作为外键,建立两个表之间一对多的关系。

模型类生成

1) 生成迁移文件命令:python manage.py makemigrations迁移文件是根据模型类生成的。2) 执行迁移生成表命令:python mange.py migrate根据迁移文件生成表。生成表名的认格式:应用名_模型类名小写通过模型类操作数据表进入项目shell的命令:python manage.py shell以下为在相互shell终端中演示的例子:首先导入模型类:from booktest.models import BookInfo,HeroInfo1)向booktest_bookinfo表中插入一条数据。b = BookInfo() #定义一个BookInfo类的对象b.btitle ='天龙八部' #定义b对象的属性并赋值b.bpub_date = date(1990,10,11)b.save() #才会将数据保存进数据库2)查询出booktest_bookinfo表中id为1的数据。b = BookInfo.objects.get(id=1)3)在上一步的基础上改变b对应图书的出版日期。b.bpub_date = date(1989,10,21)b.save() #才会更新表格中的数据4)紧接上一步,删除b对应的图书的数据。b.delete() #才会删除5)向booktest_heroInfo表中插入一条数据。h = HeroInfo()h.hname = '郭靖'h.hgender = Falseh.hcomment = ‘降龙十八掌'b2 = BookInfo.objects.get(id=2)h.hbook = b2 #给关系属性赋值,英雄对象所属的图书对象h.save()6)查询图书表里面的所有内容BookInfo.objects.all()HeroInfo.objects.all()关系操作1)查询出id为2的图书中所有英雄人物的信息。b = BookInfo.objects.get(id=2)b.heroinfo_set.all() #查询出b图书中所有英雄人物的信息后台管理1) 本地化语言和时区的本地化。 zh-hans修改settings.py文件。 Asia/Shanghai2) 创建管理员命令:python manage.py createsuperuser3) 注册模型类在应用下的admin.py中注册模型类。告诉djang框架根据注册的模型类来生成对应表管理页面。b = BookInfo()str(b) __str__4) 自定义管理页面自定义模型管理类。模型管理类就是告诉django在生成管理页面显示哪些内容视图在Django中,通过浏览器去请求一个页面时,使用视图函数来处理这个请求的,视图函数处理之后,要给浏览器返回页面内容视图函数的使用1)定义视图函数视图函数定义在views.py中。例:def index(request):#进行处理。。。return HttpResponse('hello python')视图函数必须有一个参数request,进行处理之后,需要返回一个HttpResponse的类对象,hello python就是返回给浏览器显示内容。2)进行url配置url配置的目的是让建立url和视图函数的对应关系。url配置项定义在urlpatterns的列表中,每一个配置项都调用url函数。url函数有两个参数,第一个参数是一个正则表达式,第二个是对应的处理动作。配置url时,有两种语法格式:a) url(正则表达式,视图函数名)b) url(正则表达式,include(应用中的urls文件))工作中在配置url时,首先在项目的urls.py文件添加配置项时,并不写具体的url和视图函数间的对应关系,而是包含具体应用的urls.py文件,在应用的urls.py文件中写url和视图函数的对应关系。url匹配的过程

在项目的urls.py文件中包含具体应用的urls.py文件,应用的urls.py文件中写url和视图函数的对应关系。

用户输入如http://127.0.0.1:8000/aindex时,去除域名和最前面的/,剩下aindex,拿aindex字符串到项目的urls文件中进行匹配,配置成功之后,去除匹配的a字符,那剩下的index字符串继续到项目的urls文件中进行正则匹配,匹配成功之后执行视图函数index,index视图函数返回内容hello python给浏览器来显示

模板

模板不仅仅是一个html文件

模板文件的使用

1) 创建模板文件

2) 配置模板目录

3) 使用模板文件

a) 加载模板文件

去模板目录下面获取html文件内容,得到一个模板对象。

b) 定义模板上下文

向模板文件传递数据。

c) 模板渲染

得到一个标准的html内容

给模板文件传递数据

模板变量使用:{{ 模板变量名 }}

模板代码段:{%代码段%}

for循环:

{% for i in list %}

{% endfor %}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐