在 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文件。 - 根据项目实际需求,可增删条目。
4143

被折叠的 条评论
为什么被折叠?



