Django 创建项目
现在我们已经安装了 Django,那么让我们开始使用它吧。在 Django 中,要创建的每个 Web 应用程序都称为一个项目;一个项目是一个应用程序的总和。应用程序是一组依赖于 MVT 模式的代码文件。
创建项目
无论使用的是 Windows 系统还是 Linux系统,只需获取终端或cmd提示符并进入希望创建项目的位置,然后使用下面的命令
$ django-admin startproject firstProject
执行成功后,则会创建一个具有一下目录结构的名称为 "firstProject" 的文件夹
firstProject/
├── firstProject
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
项目结构
“firstProject”文件夹只是一个项目容器,它实际上包含两个元素:manage.py 文件 和 firstProject 子文件夹。
manage.py 文件其实就相当于当前项目中的 django-admin。可以在命令行中通过该文件对项目进行管理,例如:启动开发服务,同步数据库等。可以通过以下命令,查看 manage.py 的完整命令列表:
$ python3 manage.py help
Type 'manage.py help <subcommand>' for help on a specific subcommand.
Available subcommands:
[auth]
changepassword
createsuperuser
[contenttypes]
remove_stale_contenttypes
[django]
check
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
makemigrations
migrate
sendtestemail
shell
showmigrations
sqlflush
sqlmigrate
sqlsequencereset
squashmigrations
startapp
startproject
test
testserver
[sessions]
clearsessions
[staticfiles]
collectstatic
findstatic
runserver
firstProject 子文件夹是项目的实际 python 包。它包含五个文件
- init.py - 一个空文件,告诉 Python 该目录是一个 Python 包。
- settings.py - 顾名思义,该 Django 项目的设置/配置文件。
- urls.py - 项目的所有链接和要调用的函数。其实就是一个路由文件。
- wsgi.py - 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
- asgi.py - 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。
设置项目
子文件夹 firstProject中的 settings.py 是用来对项目进行配置的。以下是我们可能需要设置的一些重要选项
DEBUG = True
此选项用来设置项目是否处于调试模式。调试模式可让我们获得有关项目错误的更多信息。生产环境,一定不要将其设置为“True”。但是,如果你希望 Django 自带的服务器可以提供静态文件,则必须将其设置为“True”。仅在开发模式下执行此操作。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'database.sql',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
数据库设置在“DATABASES”字典中。上面的例子是针对 SQLite 引擎的。Django 还支持如下数据库引擎
- MySQL (django.db.backends.mysql)
- PostGreSQL (django.db.backends.postgresql_psycopg2)
- Oracle (django.db.backends.oracle) 和 NoSQL DB
- MongoDB (django_mongodb_engine)
在设置任何新引擎之前,请确保安装了正确的数据库驱动程序。
还可以设置其他选项,例如:TIME_ZONE、LANGUAGE_CODE、TEMPLATE...
现在我们的项目已创建并配置完成,现在我们来启动它
$ python3 manage.py runserver
运行上面的命令,会得到如下的输出内容:
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
August 10, 2021 - 12:50:58
Django version 3.2.6, using settings 'firstProject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C
我们可以看到,现在服务已经正常启动了。在端口 8000上提供服务。所以我们在浏览器中访问它