django 创建项目——迹忆客-ag捕鱼王app官网
现在我们已经安装了 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 ' 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上提供服务。所以我们在浏览器中访问它