zoukankan      html  css  js  c++  java
  • Django入门-django介绍与安装

    Django介绍与安装

    Django官方文档:https://docs.djangoproject.com/en/2.1/

    Django中文文档:https://docs.djangoproject.com/zh-hans/2.0/  (哥们说:你要是条咸鱼,就看这个吧,你呢)

    1.1 基础介绍

    1.1.1 数据HTTP请求格式和相应格式

    1.1.2 MVC和MTV框架

    1. MVC --> Model View Control
    2. MTV --> Model Template views

     

    1.1.3 web框架的本质

    web框架本质
      0. socket收发消息
      1. 访问不同的URL返回不同的页面
        用户访问的具体路径 --> 执行不同的函数 --> 返回不同的结果
      2. 不同用户访问相同的URL返回不同的页面内容
        字符串的替换

    1.1.4 python里框架的分类

    Web框架的本质三大部分:
    	a. 收发socket消息      web服务器 		
         		            web应用程序	
    	b. 根据不同的请求执行不同的函数返回不同的内容
    	c. 字符串替换				
    	        Django开发阶段使用    wsgiref 模块来处理socket消息
    		Django部署到线上使用  uWsgi/gunicorn 模块来处理socket消息
    		Python中 web服务器程序和Web应用程序之间传递消息:
    			WSGI协议
    1. 自己实现b和c,使用第三方的a:
        Django框架
    2. 自己实现b,使用第三方的a和c:
        Flask
    3. 自己实现ac:
        Tornado

    1.2 Django安装与使用

    1.2.1 版本选择

    在官网中,看这张图,标识为LTS的为长期支持版

    安装:

    # 运行环境要求安装python3  

    ➜ ~ python3 --version
    Python 3.6.3

    # 安装指定版本django
    pip3 install django==1.11.11
    pip3 list #  查看当前Python解释器安装了哪些第三方包

    pip3 install django==1.11 -i https://pypi.tuna.tsinghua.edu.cn/simple   ## 指定源安装

    pip3 uninstall django  # 卸载已安装的Django

    1.2.2 命令行创建Django和运行

    django-admin startproject s21django  # 在当前目录下创建一个名为 s21django 的Django项目
    python manage.py startapp app名字     # 在当前目录新建一个app

    python manage.py runserver # 运行项目,默认绑定127.0.0.1:8000
    python manage.py runserver 127.0.0.1:8090  #指定运行IP和端口
    python manage.py runserver 8090 #指定端口

    1.2.3 在PyCharm创建和操作Django项目

    创建项目:

     

    运行项目:

     

    在PyCharm中指定绑定的 IP和端口:

     1.3 Django基础组建介绍

    1.3.1 基本路由系统 (urls.py)

    1. 路由是一个有顺序的列表,从上到下去匹配
    2. 路由的路径是根据正则表达式来匹配的

    1.3.2 基本视图函数(views.py)

     基础必会三件套

    from django.shortcuts import HttpResponse, render
    1. HttpResponse('字符串')
    2. render(request, 'xx.html')
    3. redirect

     

     1.3.3 POST请求403的解决:

    在项目配置文件settiongs.py中注释csrf项,暂时解决

    1.3.3 基本模板引擎

    1. render(request, 'xx.html', {"k": "v"})
    2. 常用语法:
        1. {{ 变量名 }}
        2. {{ 变量名.key }}
        
        3. for循环
            {% for x in xx %}
                {{x}}
            {% endfor %}
        4. if判断
            {% if 条件 %}
                ...
            {% else %}
                ...
            {% endif %}

    1.3.4 ORM(单表)

    1. 使用pymysql连接MySql车管所讯数据库的基本流程

    1. import pymysql
    2. 建立连接
    3. 获取光标
    4. 执行SQL语句
    5. 获取数据
    6. 关闭光标
    7. 关闭连接

    2. 什么是ORM

      ORM是Django中关于数据库的对象关系映射,具有以下映射关系

        类     ----->  数据表

        属性  ----->  字段

        对象  ----->  数据行

    3. 在Django中使用ORM的方法

    3.1  告诉Django连接哪个MySQL数据库(settings.py)

    3.2 告诉Django用pymysql连接MySQL数据库 (默认用的是MySQLDB)(__init__.py)


    3.3 去app/models.py里面创建类


    3.4 让Django去数据库帮我创建类对应的数据表

    python manage.py makemigrations --> 将models.py的改动记录在小本本上
    python manage.py migrate --> 将变更记录翻译成SQL语句,去数据库执行

     1.3.5 连接mysql报错: 提示找不到MysqlDB:

    没有告诉Django用pymysql连接MySQL数据库 (默认用的是MySQLDB)(__init__.py)

  • 相关阅读:
    115. Distinct Subsequences
    91. Decode Ways
    72. Edit Distance
    python 输出 a+b
    求次小生成树
    判断最小生成树是否唯一
    二分法求最优值
    黑科技
    线段树+ 区间更新
    2018ICPC青岛赛区J题
  • 原文地址:https://www.cnblogs.com/wangph/p/9469007.html
Copyright © 2011-2022 走看看