Django 教程之创建Django应用

项目有很多的功能,最好我们把这些功能进行解耦, 一个应用只提供一种功能 。

创建APP

前面已经说过为manage.py添加运行参数,创建APP也是manage.py所管理的,但是命令就不是runserver了,所以为了方便,无需经常更改参数,使用命令行即可,运行这么频繁使用的功能就交给Pycharm了

打开Pycharm的Terminal或命令行,是一样的,输入

cd blog
python manage.py startapp config

注册APP

APP创建之后需要进行注册方可使用

  1. 打开blog/setting.py文件

  2. 添加APP名称config到INSTALLED_APPS

    姑且就这样加入,这个存在顺序问题,暂时不考虑这么多

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'config',
    ]
    

统一管理APP

由于一个应用只提供一种功能 ,所以会有很多的APP,为了方便管理,建议将所有APP放到APPS文件夹内

  1. 在与manage.py同级目录创建文件夹:apps

  2. 将config文件夹迁移到apps文件夹内,以后的新APP同样操作

  3. 设置setting.py文件识别apps文件夹内APP

    添加如下语句到文件中
    import sys
    sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
    
    阅读setting.py源码可知BASE_DIR为运行目录,只需扩展BASE_DIR即可
    所以我把上述语句加在BASE_DIR语句之后
    import sys
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
    

项目结构

mybolg                                 # 虚拟环境
└─  blog							       # 项目
    │  db.sqlite3                              # Django 默认的数据库sqlite3文件
    │  manage.py	                           # 项目管理总管家,命令行工具		
    │
    ├─apps								   # 存放所有app的目录
    │  └─config                                 # 该项目的应用app
    │      │  admin.py                          # 该应用的后台管理系统
    │      │  apps.py							# 该应用的配置、信息
    │      │  models.py				            # 该应用的数据模块,定义数据模型,使用ORM框架	
    │      │  tests.py                          # 该应用自动化测试的模块
    │      │  views.py                          # 该应用的业务视图,执行业务操作,逻辑处理
    │      │  __init__.py                       # 声明模块,内容默认为空,此目录是一个Python包
    │      │
    │      ├─migrations                         # 数据库映射文件,会存放在该文件夹下
    │      │  │  __init__.py                    # 声明模块,内容默认为空
    │      │  │
    │      │  └─__pycache__                     # 字节码存放,提高运行效率
    │      │
    │      └─__pycache__                        # 字节码存放,提高运行效率
    │
    └─blog                                  # 项目的容器
        │  settings.py                          # 该Django项目的配置文件
        │  urls.py                              # 路由配置文件,URL分发器,网站目录地址
        │  wsgi.py                              # WSGI架构的Web服务器,以便运行项目
        │  __init__.py
        │
        └─__pycache__                           # 声明模块,内容默认为空
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值