django 入门

  • 一、url 介绍
    • 统一资源定位符。是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名.
    • 例如:下面是新浪财经网,那么这个url的基本组成就是三个部分
    • http://finance.sina.com.cn/
    • 第一部分:http代表协议
    • 第二部分:finance.sina.com.cn 代表域名,也就是新浪财经web服务的ip和端口
    • 第三部分:路径,看起来貌似什么都没有,其实它是‘/’代表根路径
  • 二、MVC和MTV简介
    • MVC
      • 1)大部分开发语言中都有MVC框架
      • 2)MVC框架的核心思想是:解耦
      • 3)降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用
      • 4)m表示model,主要用于对数据库层的封装
      • 5)v表示view,用于向用户展示结果
      • 6)c表示controller,是核心,用于处理请求、获取数据、返回结果
    • MTV
      • 1)Django是一款python的web开发框架
      • 2)与MVC有所不同,属于MTV框架,MTV是根据MVC变异而来
      • 3)m表示model,负责与数据库交互
      • 4)v表示view,是核心,负责接收请求、获取数据、返回结果
      • 5)t表示template,负责呈现内容到浏览器
  • 三、django开发环境搭建 (window 下)
    • 1、 安装python3.6.3
      • windows安装一定记得添加环境变量到全局以及安装pip
    • 2、 安装虚拟环境 virtualenv
      • virtualenv 是一个创建隔绝的Python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。
      • pip install virtualenv    (管理员的cmd)
    • 3、 安装虚拟环境管理包 virtualenvwrapper-win
      • 鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用virtualenvwrapper。 virtualenvwrapper提供了一系列命令使得和虚拟环境工作变得便利。它把你所有的虚拟环境都放在一个地方。
      • pip install virtualenvwrapper-win  (管理员的cmd)
    • 4、 创建一个虚拟环境python3
      • mkvirtualenv python3
    • 5、 在虚拟环境当装安装django1.11.6
      • pip install django==1.11.6
    • 6、 在虚拟环境当中安装mysqlclient
      • pip install mysqlclient
    • 7. 虚拟环境管理常用命令
      • 创建:mkvirtualenv [虚拟环境名称]
      • 删除:rmvirtualenv [虚拟环境名称]
      • 进入:workon [虚拟环境名称]
      • 退出:deactivate
      • 所有的虚拟环境,都位于C:\Users\用户名\Envs目录下
  • 四、创建项目和应用 (window 下)
    • 1.常用命令
      • 1.django-admin startproject test1     创建test1项目命令
      • 2.python3 manage.py startapp booktest    创建应用app booktest应用命令
      • 3.python3 manage.py runstart             运行服务器命令
    • 五、项目目录文件详解
      • 当我们打开一个新项目的时候,会看到项目文件夹当中默认有两个文件夹,一个文件夹名字和项目名字相同,
      • 一个文件夹就是我们创建好的第一个应用。除此以外还有一个py文件,manage.py.
      • 一个django的项目是基于应用(模块)来实现的,它至少要包含一个应用。
      • 1.manage.py:一个命令行工具,可以使你用多种方式对Django项目进行交互。
      • 2.内层的目录:项目的真正的Python包。(和项目名字子相同的文件夹)里面有
        • _init _.py:一个空文件,它告诉Python这个目录应该被看做一个Python包。
        • settings.py:项目的配置。
        • urls.py:项目的URL声明,用来做url路由匹配。
        • wsgi.py:项目与WSGI兼容的Web服务器入口。
      • 3.每个应用里面都会有如下这些文件,他们都有各自的作用:
        • admin.py:这个文件用于在admin后台注册模型类
        • models.py:书写对应的数据库模型类
        • views.py:用于书写我们的控制逻辑
        • _init _.py:可以对应用进行初始化,可以让应用的目录作为包来使用
        • tests.py:用来做测试使用
        • migrations :用来存放数据模型迁移文件
      • 4.项目中可以有template文件夹  存放模板(存放网页响应的内容)
  • 五、django http会话
    • 1.一次http会话包含了四个过程:建立tcp连接;发出请求文档;返回响应文档;释放tcp连接,并且会话是无状态的。
    • 2.实现一次会话
      • django处理会话三大步:
      •  配路由:每个请求都会对应特定的路由,路由是在urls文件当中去配置
      •  写视图:每个路由都会对应特定的处理函数(类),其实就是我们的view视图
      •  返数据:每个处理函数(类)都会返回特定的响应信息(字符串,html内容,json)
      • django是用来做网站的,网站的基本组成是网页,而网页上又包含了一个或者多个会话,因此我们可以大胆断言,
      • django就是用来处理这一个一个会话的(我们也可以这样理解:网页上包含了一个或者多个请求)。
    • 3.一次会话的实现
      • 1.settings.py 配置
        • 1.INSTALLED_APPS列表中需添加创建的应用名
        • 2.settings当中有一项专门设置模板路径的地方 TEMPLATES 中的DIRS 添加 os.path.join(BASE_DIR,"templates")
          • templates 文件夹下创建我们的html页面
        • 3.DATABASES  中 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名', 'USER': '用户名', 'PASSWORD': '密码','HOST': 'mysql服务器ip','PORT': '3306',
        • 4.LANGUAGE_CODE = 'zh-hans'
        • 5.TIME_ZONE = 'Asia/Shanghai'
        • 6.USE_TZ = False
      • 2.urls.py     中urlpatterns列表中添加一个url方法,该方法有4个参数
        •  正则          浏览器网址输入网址发送请求后,会通过这个正则去匹配url中的路径
        •                view函数      如果正则匹配网址的路径成功就会把请求传给相对应的这个函数处理
        •                可选参数      一般不用
        •                 name        代表反向解析(软连接)名字
      • 3.view.py  中书写view视图处理函,返回数据需要导入HttpResponse这个模块
        • def 函数名(request):
          • return HttpResponse("数据")
        • 返回网页需导入render
          • def 函数名(request):
            • return render(request,"html文件名")
        • 返回网页和数据
          • def 视图函数名(request):
            • a=1
            • b=[2,3,4]
            • c={'name':'张三','age':18}
            • return render(request,'html文件名',{
              • 'a':a
              • 'b':b
              • 'c':c
              • })
        • 在html文件中可以使用模板语言得到数据
          • {{ a }}
          • {% for i in b %}
            • {{ i }}
          • {% endfor %}
          • {% for key,value in c.items %}
            • {{ key }} {{ value }}
          • {% endfor %}

猜你喜欢

转载自blog.csdn.net/qq_41654985/article/details/80689796
今日推荐