一、创建虚拟环境

mkvirtualenv -p python3 virtualenv4_django

二、创建项目目录

下面创建一个目录,用于专门放置所有Django项目:

mkdir django_intro

三、创建Django项目

在上述存放Django项目的目录下,创建一个名为test1的Django项目:

django-admin startproject test1

项目创建成功后,可使用tree命令查看项目中包含的文件:

.
├── manage.py
└── test1
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py
  • __init__.py:表示test1是Python的包;
  • settings.py:Python的配置文件;
  • urls.py:进行URL路由的配置;
  • wsgi.py:web服务器和Django框架交互的入口;
  • manage.py:项目的管理文件。

四、创建项目应用

一个项目由很多个应用组成,每一个应用完成特定的功能。

创建应用的命令1为(其中booktest为应用名称,其他均为命令部分):

python manage.py startapp booktest

应用创建完成之后,进入booktest目录后,使用tree命令可以查看应用的文件组织结构:

.
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│   ├─__init__.py  
├── models.py
├── tests.py
└── views.py

对于新创建的应用,其中的文件分别表示:

  • admin.py:用于进行网站后台管理;
  • apps.py
  • __init__.py:表示目录是一个Python的包;
  • models.py:进行和数据库相关的操作,即MVC框架中的M模块;
  • views.py:视图函数,用于接收并处理请求,即MVC框架中的V模块;
  • tests.py:写测试代码的文件。

五、注册应用

建立应用和项目之间的联系,需要对应用进行注册,方法是修改项目所在目录下settings.py文件的INSTALLED_APPS配置项:

# settings.py
# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'booktest',  # 注册创建的应用booktest
]

六、启动项目

使用如下命令启动创建好的Django项目:

python manage.py runserver

使用上述命令正确启动项目后,终端显示如下:

$ python manage.py runserver
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.

July 22, 2020 - 13:27:49
Django version 3.0.8, using settings 'test3.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

当正确启动项目后,打开浏览器,在地址栏输入127.0.0.1:8000/后你将看到如下页面:

在这里插入图片描述


  1. 博主使用使用上述命令创建应用时产生了错误,使用了这篇文章中的方法得到了解决。 ↩︎

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐