Django_Day1

setting.py介绍:

设置允许访问的主机:

ALLOWED_HOSTS = ['*']#*代表所有

设置页面的中英文切换和时区

# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-hans'
# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/ShangHai'

 render():用来渲染,存放模板的“templates”这个名字是固定不变的

自定义template的存放路径:【如果放在app里面就不用修改】

 

 

 快速的网站部署方式:

 python managey runserver 0.0.0.0 80

  

Day01

背景

  • Web阶段

    • Django
    • Flask
  • 虚拟化技术

    • 虚拟机
    • 虚拟容器: Docker
    • 虚拟环境:Python专用,将Python依赖隔离

模板配置——templates文件夹

  • 两种

    • 在App中进行模板配置

      • 只需在App的根目录创建templates文件夹即可
      • 如果想让代码自动提示,我们应该标记文件夹为模板文件夹
    • 在项目目录中进行模板配置

      • 需要在项目目录中创建templates文件夹并标记
      • 需要在settings中进行注册
    • 在开发中使用第二种

      • 模板可以继承,复用

路由优化配置 —— urls.py

  • 项目如果逻辑过于复杂,可以进行拆分

  • 拆分为多个App

  • 继续拆分路由器 urls

    • 在App中创建自己的urls.py

      • urlpatterns:路由规则列表
      • 在根urls.py中进行子路由的包含(include())
    • 子路由使用

      • 根路由规则 + 子路由的规则

models 使用了ORM技术

  • Object Relational Mapping 对象关系映射

  • 将业务逻辑进行了一个解耦合

    • object.save()
    • object.delete()
  • 关系型数据库

    • DDL
    • 通过models定义实现 数据库表的定义
  • 数据操作

    • 增删改查

    • 存储:save()

    • 查询

      • 查所有 : objects.all()
      • 查单个 : objects.get(pk=xx)
    • 更新

      • 基于查询的
      • 查好的对象,修改属性,然后save()
    • 删除

      • 基于查询的
      • 调用 delete()

连接mysql驱动

  • mysqlclient

    • python2,3都能直接使用

    • 致命缺点

      • 对mysql安装有要求,必须指定位置存在配置文件
  • python-mysql

    • python2 支持很好
    • python3 不支持
  • pymysql*

    • python2,python3都支持
    • 它还可以伪装成前面的库

django shell

  • 集成了python环境的shell终端

  • 通常在终端中做一些调试工作

  • python manage.py shell
    

如何看待bug

  • 看日志

    • 先看第一条
    • 再看最后一条
  • 梳理思路

    • 程序在哪一个位置和预期出现偏差

表关系

  • 1:1 一对一
  • 1:M 一对多
  • M:N 多对多

快捷键

  • control + p
  • 参数提示
  • shift + f6 重命名,重构
posted @ 2020-01-30 22:57  东坡肉肉君  阅读(94)  评论(0)    收藏  举报