博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django
阅读量:4879 次
发布时间:2019-06-11

本文共 3493 字,大约阅读时间需要 11 分钟。

MVC框架

M  Model 模型,和数据库进行交互

V  View视图,产生html页面

C  Controller 控制器,接收请求,进行处理,与M和V进行交互,返回应答。

 

MVT       django模块,遵循MVC的设计。

没有C ,是V视图接收处理

T  模板,产生html页面,交给V ,返回浏览器页面

M:Model,模型,和MVC中M功能相同,和数据库交互,返回应答

V:View 视图,和MVC中C功能相同,接收请求,进行处理,与M和T进行交互

T:和MVC中V功能相同,用于产生html页面

    

虚拟环境:

安装python包的命令:sudo pip3 install 包名

包的安装路径:/usr/local/lib/python3.5/dist-packages

安装同一个包的不同版本,后安装的包会把原来安装的包覆盖掉。这样,如同一台机器上两个项目依赖于相同包的不同版本,则会导致一些项目运行失败。

解决方案:虚拟环境

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

在虚拟机环境中使用的python是复制的python  。 安装python包也是安装在复制的python中。

安装虚拟环境的命令:

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

2、sudo pip installvirtualenvwrapper #安装虚拟环境扩展包

3、编辑家目录下面的.bashrc文件,添加下面两行:

    export WORKON_HOME=$HOME/.virtualenvs                      # pwd路径

    source /usr/local/bin/virtualenvwrapper.sh

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

 

创建虚拟环境:

    mkvirtualenv 虚拟环境名

创建python3的虚拟环境:

    mkvirtualenv   -p python3 虚拟环境名         #创建一个python3的虚拟环境

进入虚拟环境工作:

    workon  虚拟环境名

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

    workon 空格 +两个tab键

退出虚拟环境:

    deactivate

rmvirtualenv 虚拟环境           删除虚拟环境

 

 

pip  install django==1.8.2     #在虚拟环境中安装python安装包

pip list     #查看虚拟环境里装的那些包

pip  freeze     #查看虚拟环境中安装的python的包,网站做好后,发布的时候使用

 

两者区别:

    pip install python 包名

    apt-get install 软件

 

项目创建

命令:  django-admin startproject 项目名

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

tree 目录的结构

 

test1

    __init__.py              说明test1是一个python包

    settings.py              项目的配置文件

    urls.py                     进行url路由的配置

    wsgi.py                   web服务器和我们的Django交互的入口

    manage.py             项目的管理文件

 

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

创建应用的命令如下:

    python manage.py startapp 应用名

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

python manage.py startapp booktest   创建一个应用

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

model.py:                 写和数据库相关的内容

views.py:               接收请求,进行处理,与M和T进行交互,返回应答。定义处理函数,视图函数。

tests.py                    写测试代码的文件。

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

 

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

修改settings.py中的INSTALLED_APPS配置项,在后面写上应用的名字。

 

python manage.py runserver    启动开发的外部服务器         输入提示的地址,通过浏览器访问。

 

ORM框架

     Object:对象-类

     Relations:关系,关系数据库中的表

     Mapping:  映射

 

 模型类设计:

在应用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

首先导入模型类:

from booktest.models import BookInfo.Herolnfo

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.hcomment = '降龙十八掌'

b2 = BookInfo.objects.get(id=2)

h.hbook = b2   #给关系属性赋值,英雄对象所属的图书对象

h.save()

6、查询图书表里面的所有内容

BookInfo.objects.all()

HeroInfo.objects.all()

关系操作

通过BookInfo类型对象查询关系HeroInfo信息

一类                                                       由一查多 -》                                                   多类

BookInfo                                               b.heroinfo_set.all()                                            HeroInfo

                                                              由多查一    《-

                                                             h.hbook

1、查询出id为2的图书中所有英雄人物的信息。

b  = BookInfo.objects.get(id=2)

b.heroinfo_set.all()     #查询出b图书中所有英雄人物的信息

 

后台管理 

1、本地化

语言和时区的本地化。

修改项目的配置文件 settings.py。

2、创建管理员

命令: python manage.py createsuperuser

启动服务器:   python manage.py runserver

登录地址:127.0.0.1:8000/admin

3、注册模型类

在应用下的admin.py中注册模型类

告诉django框架根据注册的模型类来生成对应表管理页面

b = BookInfo()

Str(b)__str__

 

 

视图

1、定义视图函数

视图函数定义在views.py中

例:

    def index(request):

        #进行处理。。。

        return HttpResponse('hello python')

    视图函数必须有一个参数request,进行处理之后,需要返回一个HttpResponse的类对象,hello python 就是返回给浏览器显示的内容。

2、进行url配置

urlpatterns=[

    url('正则表达式',对应的动作)

]

 

模板

模板不仅仅是一个html文件

模板文件的使用

1.创建模板文件夹

2.配置模板目录

3.使用模板文件

  a.加载模板文件

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

  b.定义模板上下文

    向模板文件传递数据

  c.模板渲染

    得到一个标准的html内容

 

posted on
2019-04-27 22:27 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/ql0302/p/10780799.html

你可能感兴趣的文章
一台机子同时启动两个相同版本的tomcat
查看>>
剑指offer——python【第29题】最小的K个数
查看>>
带你入门代理模式/SpringAop的运行机制
查看>>
参考的博客
查看>>
移动端适配方案
查看>>
eclipse对离线python的环境搭建
查看>>
要找工作啦
查看>>
JSON for java入门总结
查看>>
OpenCV imshow无法显示图片
查看>>
js线程&定时器
查看>>
路漫漫其修远兮
查看>>
java.lang.IllegalStateException: getOutputStream() has already been cal
查看>>
作业一
查看>>
LearnMenu
查看>>
越狱机器SSH安装与使用
查看>>
使apache解析域名到目录的方法
查看>>
UI第十一节——UIActivityIndicatorView
查看>>
了解Onunload,onbeforeunload事件
查看>>
团队编程项目作业2-团队编程项目设计文档
查看>>
2017国家中心城市发展报告
查看>>