【Django入门】——从零开始创建并启动一个Django项目

一、创建虚拟环境

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. 博主使用使用上述命令创建应用时产生了错误,使用了这篇文章中的方法得到了解决。 ↩︎

猜你喜欢

转载自blog.csdn.net/weixin_37780776/article/details/107217084
今日推荐