Django 项目 .gitignore 模板
在 Django 项目中,.gitignore
文件用于指定 Git 不需要版本控制的文件和目录,保持代码仓库的整洁和安全。下面是一份通用且完整的 .gitignore
模板(带详细注释),适用于绝大多数 Django 项目:
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class# C extensions
*.so# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST# PyInstaller
*.manifest
*.spec# Installer logs
pip-log.txt
pip-delete-this-directory.txt# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/# Translations
*.mo
*.pot# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal# Flask stuff:
instance/
.webassets-cache# Scrapy stuff:
.scrapy# Sphinx documentation
docs/_build/# PyBuilder
.pybuilder/
target/# Jupyter Notebook
.ipynb_checkpoints# IPython
profile_default/
ipython_config.py# pyenv
.python-version# pipenv
Pipfile.lock# poetry
poetry.lock# pdm
.pdm.toml
pdm.lock# Celery stuff
celerybeat-schedule
celerybeat.pid# SageMath parsed files
*.sage.py# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/# Spyder project settings
.spyderproject
.spyproject# Rope project settings
.ropeproject# mkdocs documentation
/site# mypy
.mypy_cache/
.dmypy.json
dmypy.json# Pyre type checker
.pyre/# pytype static type analyzer
.pytype/# Cython debug symbols
cython_debug/# IDE
.idea/
.vscode/
*.swp
*.swo
*~# OS
.DS_Store
Thumbs.db# Static files (if you use collectstatic)
/static/
各部分说明
1. Python 编译文件
__pycache__/
、*.pyc
、*.pyo
等:Python 自动生成的字节码文件,无需版本控制。
2. 虚拟环境
venv/
、env/
、.venv/
等:Python 虚拟环境目录,依赖包可随时重新安装。
3. Django 特有文件
*.log
:日志文件,体积大且频繁变动。local_settings.py
:本地开发配置,包含敏感信息,不应公开。db.sqlite3
:SQLite 数据库文件,本地测试数据不应提交。
4. IDE 配置文件
.idea/
(PyCharm)、.vscode/
(VS Code)等:个人IDE配置,团队协作时不应共享。
5. 操作系统临时文件
.DS_Store
(macOS)、Thumbs.db
(Windows)等。
6. 依赖与构建产物
dist/
、build/
、*.egg-info/
等:打包或编译生成的文件。
7. 测试与覆盖率报告
htmlcov/
、.coverage
、.pytest_cache/
等。
注意事项
- 如果文件已提交到仓库,需先删除(
git rm --cached 文件名
),再提交.gitignore
才能生效。 - 敏感信息(如密钥、密码)应放在
local_settings.py
或.env
中,并确保被忽略。 - 静态文件(
/static/
)如果由collectstatic
生成,通常也应忽略。
如何使用
- 将上述内容保存为项目根目录下的
.gitignore
文件。 - 根据项目实际需求,可增删条目。