Django学习笔记1

一、Django引入

1.1 Django介绍

组件:

  • 基本配置文件/路由系统
  • 模型层(M)/模板层(T)/视图层(V)
  • Cookies和Session
  • 分页和发邮件
  • Admin管理后台

Django官网:http://www.djangoproject.com

Django中文文档参考网站:https://yiyibooks.cn

版本

  • 最新版本3.0.x
  • 当前教学版本2.2.12

安装(采用Linux虚拟机)

支持Python的版本 - 3.5, 3.6, 3.7, 3.8

在线安装

  • 虚拟机执行 sudo pip3 install django==2.2.12
  • 检查是否成功 sudo pip3 freeze|grep -i 'Django

离线安装

  • 将安装包复制到虚拟机
  • 解压缩 tar -xvf Django-2.2.12.tar.gz
  • 进入目录 cd Django-2.2.12
  • 执行安装 sudo python3 setup.py install
  • sudo pip3 freeze|grep -i ‘Django’
1.2 Django项目结构
  • 成功安装Django后,虚拟机终端会有django-admin命令

  • 执行django-admin startproject 项目名,即可创建出对应项目文件夹

  • 例如:终端执行django-admin startproject mysite1;则创建出mysite1项目

  • 启动[测试开发阶段]

    1.终端cd进入到项目文件夹,例如cd mysite1

    2.进入到项目文件夹后,执行python3 manage.py runserver启动django服务【注:该启动方式下,Django在前台启动服务,默认监听8000端口】

    3.浏览器访问http://127.0.0.1:8000可看到django的启动页面

    注:【如果想更换端口,可以用python3 manage.py runserver 端口号】

  • 关闭服务

    方式1:在runserver启动终端下执行Ctrl+c

    方式2:在其他终端下

    • 执行sudo lsof -i:8000查询出Django的进id
    • 执行kill -9 对应Django进程id

    问题:启动时报错

    Error:That port is already in use.

    问题原因:端口已被使用,证明当前Django启动时,默认监听的8000端口已被其他进程占用

    解决方案:参考关闭服务

  • manage.py包含项目管理的子命令,如:

    python3 manage.py runserver 启动服务

    python3 manage.py startapp 创建应用

    python3 manage.py migrate 数据库迁移

  • 项目同名文件夹 - mysite1/mysite1

    • _init_: Python包的初始化文件
    • wsgi.py: Web服务网关的配置文件 - Django正式启动时,需要用到
    • urls.py: 项目的主路由配置 - HTTP请求进入Django时,优先调用该文件
    • settings.py: 项目的配置文件 - 包含项目启动时需要的配置
  • settings.py

    settings.py包含了Django项目启动的所有配置项

    配置项分为公有配置和自定义配置

    配置项格式例:BASE_DIR = 'xxxx’

    公有配置 - Django官方提供的基础配置

    ​ https://doces.djangoproject.com/en/2.2/ref/settings

  • DEBUG

    True - 调试模式

    1.检测代码改动后,立刻重启服务

    2.报错页面

    False - 正式启动模式/上线模式

  • ALLOWED_HOSTS

    请求头Host头,表示只有该Host头才能访问

  • INSTALLED_APPS - 指定当前项目中安装的应用列表

  • MIDDLEWARE - 用于注册中间件

  • TEMPLATES - 用于指定模板的配置信息

  • DATABASES - 用于指定数据库的配置信息

  • LANGUAGE_CODE - 用于指定语言配置

    • 英语:“en-us”
    • 中文:“zh-Hans”
  • TIME_ZONE - 用于指定当前服务器端时区

    世界标准时间:“UTC”

    中国时区:“Asia/Shanghai”

  • ROOT_URLCONF - 用于配置主url配置’mysite1.urls’

    ROOT_URLCONF = ‘mysite1.urls’

  • 自定义配置

    名字尽量个性化 - 以防覆盖掉公有配置

    例如:ALIPAY_KEY = ‘xxxxxx’

    引入方式:from django.conf import settings

参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值