2.创建Django工程

119 阅读2分钟

创建 Django 工程

一、虚拟环境下安装依赖包

  • 安装稳定的Django版本

    pip install django==2.2.5
    

    注意:这里不能使用 sudo 命令,否则安装到的不是虚拟环境下的目录

  • 查看环境内已安装包

    pip list
    

二、创建工程

  1. 创建工程

    进入虚拟环境,使用

    django-admin startproject bookmanager
    

    创建一个名为bookmanager的工程

  2. 查看创建的工程目录

    # 工程结构
    bookmanager/   # 工程目录
    ├── bookmanager   # 工程配置目录
    │   ├── __init__.py
    │   ├── settings.py   # 项目整体的配置文件
    │   ├── urls.py     # 项目的URL(路由)配置文件
    │   └── wsgi.py     # 项目与WSGI兼容的Web服务器入口
    └── manage.py     # 项目管理文件,通过它管理项目
    
  3. 运行工程

    在虚拟环境中运行开发服务器

    python manage.py runserver ip:端口
    # 或
    python manage.py runserver
    

    可以不写IP和端口,默认ip是127.0.0.1,默认端口是8000,启动后可见如下信息:

    Watching for file changes with StatReloader
    Performing system checks...
    
    System check identified no issues (0 silenced).
    
    You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
    Run 'python manage.py migrate' to apply them.
    
    May 06, 2023 - 07:13:20
    Django version 2.2.5, using settings 'bookmanager.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CONTROL-C.
    

    说明启动成功。

  4. 在浏览器中查看

    访问 http://127.0.0.1:8000,看到如下页面,说明启动成功

    启动成功

如果是在ubuntu中启动的项目,需要windows电脑下访问,即工程所在主机(10.10.22.232)与访问的主机(10.10.22.141)不是同一台电脑,需要做如下修改:

  1. bookmanager\bookmanager\settings.py文件下,修改 ALLOWED_HOSTS 的值未 ['*']['10.10.22.232', '10.10.22.141']
  2. 启动工程命令为 python manage.py runserver 10.10.22.232:8000python manage.py runserver 0.0.0.0:8000
  3. 在主机10.10.22.114的浏览器中输入10.10.22.232:8000就可以看到启动成功的页面了。

三、创建子应用

  1. 创建子应用

    进入虚拟环境,进入 bookmanager目录,使用python manage.py startapp book命令创建一个名为book的子应用

  2. 查看子应用目录

    bookmanager/    # 工程目录
    ├── book
    │   ├── admin.py   # 文件跟网站的后台管理站点配置相关
    │   ├── apps.py    # 用于配置当前子应用的相关信息
    │   ├── __init__.py
    │   ├── migrations   # 用于存放数据库迁移历史文件
    │   │   └── __init__.py
    │   ├── models.py   # 用于保存数据库模型类
    │   ├── tests.py   # 测试代码
    │   └── views.py   # 用于编写Web应用视图
    ├── bookmanager    # 工程配置目录
    │   ├── __init__.py
    │   ├── settings.py
    │   ├── urls.py
    │   └── wsgi.py
    ├── db.sqlite3
    └── manage.py
    
  3. 注册安装子应用

    /bookmanager/bookmanager/settings.py文件的INSTALLED_APPS属性里,添加一行'book.apps.BookConfig'

    /bookmanager/book/apps.py 文件内容如下:

    from django.apps import AppConfig
    
    class BookConfig(AppConfig):
        name = 'book'