zoukankan      html  css  js  c++  java
  • Django基础-初识Django

    一、Django简介( Python Web 框架)

    1、Django 是一个由 Python 写成的开放源代码的 Web 应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。

          Django 框架的核心组件有:

    • 用于创建模型的对象关系映射
    • 为最终用户设计较好的管理界面;
    • URL 设计;
    • 设计者友好的模板语言;
    • 缓存系统。

    2、架构设计(MVC框架和MTV框架)

          Django已经成为web开发者的首选框架,是一个遵循 MVC 设计模式的框架。

        (1)MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),

                 具有耦合性低、重用性高、生命周期成本低等优点。如图:

    (2)Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性。

              Django框架的不同之处在于它拆分的三部分为:Model(模型)、Template(模板)和View(视图),也就是MTV框架。

            Django的MTV模式

    •   Model(模型):负责业务对象与数据库的对象(ORM)
    •   Template(模版):负责如何把页面展示给用户
    •   View(视图):负责业务逻辑,并在适当的时候调用Model和Template

                 此外,Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

            Django框架图示

    (3)但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。它们各自的职责如下:

    层次
    职责
    模型(Model),即数据存取层
    处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。
    模板(Template),即表现层
    处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。
    视图(View),即业务逻辑层
    存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。
    二、安装Django

            Django是Python的第三方模块需要通过PIP安装

     pip install django==2.1    #指定版本安装,默认是安装最新版本

    注:最新版本的Django对mysql版本也有要求

    1、命令安装django

    1)创建工程

     django-admin startproject 工程名称
    
     django-admin startproject mysite      #不能以django为工程名

    (2)启动项目的时候,需要切换到mysite目录下,执行如下命令:

    python manage.py runserver  #默认使用8000端口

    (3)命令后面还可以指定参数:

    python manage.py runserver 127.0.0.1:8002  #还可以指定IP和端口,冒号分割
    python manage.py runserver 0.0.0.0:8002    #IP 0.0.0.0 大家都可访问

    (4)创建子模块(一个Django项目可以分为很多个APP,用来隔离不同功能模块的代码)

    python manage.py startapp app

    (5)创建表结构:

     python manage.py makemigrations
    
     python manage.py migrate

    (6)查询命令

    python manage.py --help

    (7)创建超级用户

     python manage.py createsuperuser
    注:输入以上命令后,根据提示输入用户名、邮箱、密码、确认密码。密码的要求至少是不八位,不能和邮箱太接近,两次密码需要一致。

    基本目录结构及作用:

    mysite/              # 项目的容器,名字随便起
        manage.py        # 命令行实用工具,以各种方式与该Django项目进行交互
        mysite/          # 实际的Python项目
            __init__.py  # 空文件,导入不出错
            settings.py  # 这个Django项目配置
            urls.py      # 这个Django项目的URL声明; 一个Django驱动网站的“目录”
            wsgi.py      # 一个入口点为WSGI兼容的Web服务器,以满足您的项目

    2、通过Pycharm创建

          File--New Project--Django,选好路径及环境

     

     

    pycharm创建子模块

    •      Tools--Run manage.py Task 进入命令行
    •      startapp user     #创建user子模块

    三、欢迎来到Django

    1、配置setting.py文件,起下服务:

      LANGUAGE_CODE = 'zh-Hans'
    TIME_ZONE = 'Asia/Shanghai'
    USE_I18N = True
    USE_L10N = True
    USE_TZ = False #要不然数据库用的还时标准时区

     

      浏览器访问成功

     

     2、体验Django

    (1)views.py (views.py和urls.py时配套使用)

    from django.shortcuts import render, HttpResponse
    from . import models
    
    
    # Create your views here.
    def use_info(request):  # request获取请求的东西
        s = '你好'
        return HttpResponse(s)  # 返回字符串用它
    
    
    def welcome(request):
        username = 'caicai'  # request
        username_zh = '蔡蔡'  # sql查
        return render(request, 'welcome.html', {'username_zh': username_zh})  # 返回html用render

    (2)urls.py

    from django.contrib import admin
    from django.urls import path
    from user import views
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('index', views.use_info),
        path('welcome',views.welcome),
        path('',views.index),
    ]

    (3)welcome.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h1 style="color: blue">{{username_zh}},我想喝奶茶</h1>
    </body>
    </html>
  • 相关阅读:
    echarts数据包坐标拾取工具
    JS 多个条件判断
    js 实现各浏览器全屏
    前端统计使用插件
    JS 随机排序算法
    js中布尔值为false的六种情况
    Mosaic
    单点登录
    JavaScript数据结构和算法
    一个普通函数的冷僻属性(length、caller、arguments、name、[[Scopes]]和[[FunctionLocation]])
  • 原文地址:https://www.cnblogs.com/ccxm/p/13542277.html
Copyright © 2011-2022 走看看