zoukankan      html  css  js  c++  java
  • Django框架简介——Django创建方式、django主要文件介绍、三板斧(HttpResponse,render,redirect)

    python三大主流框架

    1.Django:大而全 自带的功能特别特别多 就类似于航空母舰 有时候过于笨重
    2.Flask:短小精悍 自带的功能特别特别少 全都是依赖于第三方组件
    flask框架第三方的组件特别多 如果把flask第三方全部加起来 完全可以盖过Django
    比较受限于第三方的开发者
    3.Tornado:天生的异步非阻塞框架 速度特别快 能够抗住高并发
    可以开发游戏服务器

    A:socket
    B:路由与视图函数匹配
    C:模板语法

    Django
    A:用的别人的 wsgiref
    B:自己写的
    C:自己写的
    Flask
    A:用的别人的 wsgiref>>> werkzeug
    B:自己写的
    C:用的别人的 jinja2
    Tornado
    A,B,C全都是自己写的

    流程图

    Django

    注意事项:

    1、你的计算机的名称不能有中文

    2、文件的命名尽量也不要中文

    3、一个pycharm窗口只能有一个项目 不要把多个项目放在一个窗口下

    版本问题: 以django1.11版本为主

    下载命令:pip  install django==1.11.11

    检测是否下载成功:命令行 django-admin

    如何创建django项目:(两种方法)

      方式一命令行:在cmd中创建敲命令行

        1.创建django项目:django-admin startproject  项目名

        2.创建app应用: django_admin startapp 应用名  或者  python manager.py startapp应用名

        3.启动django项目:python manager.py runserver(在pycharm的Terminal中输入)

      方式二在pycharm创建:

        1.创建项目:FILE >>> new project 选择第二个django 需要注意名字不能有中文,选择本地的解释器,勾选后台管理

        2.创建app:除了命令行创建,还可以在Tools下面Run manage task功能栏,然后在输入  startapp  应用名

        3.可以直接输入runserver 或者 点击绿色小箭头

    注意:用命令行创建django项目,不会自动新建templates模板文件夹,需要你手动创建,并且需要你自己settings.py文件中注册该文件路径。(******)     

    注意:创建的应用app一定要在settings中注册才能生效,否则无法识别(******)

     django主要文件介绍

      项目名文件

        同名的项目文件夹

          settings.py   django暴露给用户可配置的文件

          urls.py    路由与视图函数对应的关系

        manage.py      django入口文件

        templates文件夹      放前端模板代码

        应用文件夹(app)

          migrations文件夹    数据库迁移记录

          admin.py   django后台管理

          apps.py     应用注册相关

          models.py   orm模型类

          tests.py    测试文件

          views.py   视图函数

    django必会三板斧:(在views.py中)  request是请求的相关数据(******)

    1.HttpResponse:内部传入一个字符串参数,返回给浏览器
    2.render:除request参数外还接受一个带渲染的模板文件和一个保存具体数据的字典参数。将数据填充进模板文件,最后把结果返回给浏览器。

    两种给前端页面传值的方式:
    def reg(request):
      user_dict = {'name':'jason','password':'123'}
      return render(request,'reg.html',{'user_dict':user_dict})

    def reg(request):
      user_dict = {'name':'jason','password':'123'}
      return render(request,'reg.html',locals())               #locals()是把所有参数全部传递给前端

    3.redirect:重定向(接收一个url参数,表示跳转到指定的url)

     

     

    在浏览器和wsgi之间还有个nginx,做负载均衡 

  • 相关阅读:
    HDU 1203 I NEED A OFFER!(0-1背包)
    poj3624 Charm Bracelet(0-1背包 滚动数组)
    Contest1803
    2019 Multi-University Training Contest 3
    Circle and Points
    分治算法应用-最近点对的最小距离-hdu 1007 Quoit Design
    2019年第二阶段我要变强个人训练赛第十七场
    2019牛客暑期多校训练营(第四场)
    2019牛客暑期多校训练营(第三场)
    2019 Multi-University Training Contest 2
  • 原文地址:https://www.cnblogs.com/wangcuican/p/11512828.html
Copyright © 2011-2022 走看看