DJango的创建和使用详解(默认数据库sqlite3)
1.安装虚拟环境
虚拟环境是真实python环境的复制版本。
安装虚拟环境的命令:
1)sudopipinstallvirtualenv#安装虚拟环境
2)sudopipinstallvirtualenvwrapper#安装虚拟环境扩展包
3)编辑家目录下面的.bashrc文件,添加下面两行。
exportWORKON_HOME=$HOME/.virtualenvs
source/usr/local/bin/virtualenvwrapper.sh
4)使用source.bashrc使其生效一下。
创建虚拟环境命令:
mkvirtualenv虚拟环境名
创建python3虚拟环境:
mkvirtualenv-ppython3bj11_py3
进入虚拟环境工作:
workon虚拟环境名
查看机器上有多少个虚拟环境:
workon空格+两个tab键
退出虚拟环境:
deactivate
删除虚拟环境:
rmvirtualenv虚拟环境名
虚拟环境下安装包的命令:
pipinstall包名
注意:不能使用sudopipinstall包名,这个命令会把包安装到真实的主机环境上而不是安装到虚拟环境中。
apt-getinstall软件
pipinstallpython包名
安装django环境:
pipinstalldjango==1.8.2
查看虚拟环境中安装了哪些python包:
piplist
pipfreeze
2.创建项目
django-adminstartproject项目名称
注意:创建应用必须先进入虚拟环境
__init__.py:说明test1是一个python包。
settings.py:项目的配置文件
urls.py:进行url路由的配置
wsgi.py:web服务器和DJanggo交互的入口
manage.py:项目的管理文件
3.创建应用
一个项目由很多个应用组成的,每一个应用完成一个特定的功能。
创建应用的命令如下:
pythonmanage.pystartapp应用名
注意:创建应用时需要先进入项目目录。
应用目录如下:
__init__.py:说明目录是一个python模块
models.py:用于写和数据库项目的内容
views.py:接收数据,处理数据,与M,T进行交互,返回应答
定义处理函数,视图函数培养
tests.py:测试代码的文件
admin.py:网站后台管理相关的文件
建立应用和项目之间的联系,需要对应用进行注册。
修改settings.py中的INSTALLED_APPS配置项。
运行开发web服务器命令:
pythonmanage.pyrunserver
ORM
django中内嵌了ORM框架,ORM框架可以将类和数据表进行对应起来,只需要通过类和对象就可以对数据表进行操作。
设计类:模型类。
ORM另外一个作用:根据设计的类生成数据库中的表。
模型类
模型类设计
在应用models.py中设计模型类。
必须继承与models.Model类。
1)设计BookInfo类。
2)设计HeroInfo类。
Models.ForeignKey可以建立两个模型类之间一对多的关系,django在生成表的时候,就会在多的表中创建一列作为外键,建立两个表之间一对多的关系。
模型类生成表
1)生成迁移文件
命令:pythonmanage.pymakemigrations
迁移文件是根据模型类生成的。
2)执行迁移生成表
命令:pythonmange.pymigrate
根据迁移文件生成表。
生成表名的默认格式:
应用名_模型类名小写
通过模型类操作数据表
进入项目shell的命令:
pythonmanage.pyshell
以下为在相互shell终端中演示的例子:
首先导入模型类:
frombooktest.modelsimportBookInfo,HeroInfo
1)向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=False
h.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/Shanghai
2)创建管理员
命令:pythonmanage.pycreatesuperuser
3)注册模型类
在应用下的admin.py中注册模型类。
告诉djang框架根据注册的模型类来生成对应表管理页面。
b=BookInfo()
str(b)__str__
4)自定义管理页面
自定义模型管理类。模型管理类就是告诉django在生成的管理页面上显示哪些内容。
视图
在Django中,通过浏览器去请求一个页面时,使用视图函数来处理这个请求的,视图函数处理之后,要给浏览器返回页面内容。
视图函数的使用
1)定义视图函数
视图函数定义在views.py中。
例:
defindex(request):
#进行处理。。。
returnHttpResponse('hellopython')
视图函数必须有一个参数request,进行处理之后,需要返回一个HttpResponse的类对象,hellopython就是返回给浏览器显示的内容。
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视图函数返回内容hellopython给浏览器来显示。
模板
模板不仅仅是一个html文件。
模板文件的使用
1)创建模板文件夹
2)配置模板目录
3)使用模板文件
a)加载模板文件
去模板目录下面获取html文件的内容,得到一个模板对象。
b)定义模板上下文
向模板文件传递数据。
c)模板渲染
得到一个标准的html内容。
给模板文件传递数据
模板变量使用:{{模板变量名}}
模板代码段:{%代码段%}
for循环:
{%foriinlist%}
{%endfor%}
以上这篇DJango的创建和使用详解(默认数据库sqlite3)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。