◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
django 是一个强大且多功能的 python 框架,旨在简化 web 开发。但是,启动 django 项目的方式可能会显着影响其可扩展性、可维护性和性能。本指南提供了全面的分步演练,帮助您以正确的方式启动 django 项目,确保为成功奠定坚实的基础。
django 是一个基于 python 的框架,因此您需要在系统上安装 python。访问 python.org 下载最新版本(推荐 3.8 或更高版本)。验证安装:
python --version
pip 是 python 的包管理器,通常与 python 捆绑在一起。检查pip是否安装:
pip --version
如果没有,请按照 pip 官方网站上的说明进行安装。
虚拟环境隔离您的项目依赖关系,防止与其他项目发生冲突。要创建一个:
pip install virtualenv
mkdir django_project cd django_project virtualenv venv
激活虚拟环境:
venvscriptsctivate
在 macos/linux 上:
source venv/bin/activate
您会注意到您的终端现在显示 (venv),表示虚拟环境处于活动状态。
在虚拟环境中,安装 django:
pip install django
验证安装:
django-admin --version
要启动新项目,请使用 startproject 命令:
django-admin startproject myproject .
这将创建以下结构:
myproject/ ├── manage.py ├── myproject/ │ ├── __init__.py │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ ├── wsgi.py
打开 myproject/settings.py 并进行以下基本配置:
开发期间将debug设置为true。对于生产,必须将其设置为 false。
debug = true
将您的域名或 ip 地址添加到 allowed_hosts 列表中:
allowed_hosts = ['127.0.0.1', 'localhost']
使用环境变量或像 python-de couple 这样的库来保证 secret_key 的安全。将硬编码密钥替换为:
from decouple import config secret_key = config('secret_key', default='unsafe-default-key')
django 默认使用 sqlite 进行开发,但您可以配置 postgresql 或 mysql 等生产数据库。根据需要更新 settings.py 中的数据库。例如,要使用 postgresql:
pip install psycopg2
databases = { 'default': { 'engine': 'django.db.backends.postgresql', 'name': 'mydatabase', 'user': 'myuser', 'password': 'mypassword', 'host': 'localhost', 'port': '5432', } }
运行迁移以应用初始数据库配置:
python manage.py migrate
为您的项目创建一个管理员帐户:
python manage.py createsuperuser
出现提示时提供用户名、电子邮件和密码。
启动服务器来验证您的项目设置:
python manage.py runserver
在浏览器中访问http://127.0.0.1:8000/。如果您看到默认的 django 欢迎页面,则您的项目已成功运行。
在项目目录中初始化 git:
git init
添加所有文件并进行第一次提交:
git add . git commit -m "initial django project setup"
创建 .gitignore 文件以排除不必要的文件:
venv/ *.pyc __pycache__/ db.sqlite3
django 项目是围绕模块化应用程序构建的。要添加功能,请创建一个应用程序:
python manage.py startapp myapp
在 installed_apps 下的 settings.py 中注册应用程序:
installed_apps = [ ... 'myapp', ]
在settings.py中定义静态文件和媒体文件的路径:
static_url = '/static/' staticfiles_dirs = [base_dir / 'static'] media_url = '/media/' media_root = base_dir / 'media'
运行以下命令来收集用于生产的静态文件:
python manage.py collectstatic
在部署到生产环境之前,实现 django 的安全功能:
以正确的方式启动 django 项目不仅仅涉及运行命令,还涉及建立一个干净、可扩展且可维护的基础。通过执行这些步骤,您可以确保您的项目已做好增长准备,并满足开发和生产环境的最佳实践。快乐编码!
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。