我是靠谱客的博主 天真大门,最近开发中收集的这篇文章主要介绍Django项目上传.gitignore文件建议忽略文件清单及是否需要忽略数据库迁移文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Django项目开发或改动完成后将本地代码提交到代码库(比如github)时,我们需要考虑哪些文件需要提交,哪些不需要提交。这是因为有些库文件(比如缓存文件),本地日志文件还有一些编译文件是不必要提交的。这时我们可以使用.gitingnore文件忽略不需要提交的文件。本文介绍如何创建.gitignore文件,哪些Django项目文件建议忽略提交,并重点介绍我们是否需要忽略数据库迁移文件。

创建.gitignore文件

1. 首先安装git,网上教程很多,我就不多说了。

2. 在需要创建.gitignore文件的文件夹(通常为Django项目文件夹,而不是app文件夹), 右键选择Git Bash 进入命令行,进入项目所在目录。

3. 输入 touch.gitignore,生成.gitignore文件。

4. 用notepad或者vim命令在.gitignore 文件里输入你要忽略的文件夹及其文件就可以了。

Django项目建议忽略的文件清单

一般缓存文件__pycache__和本地日志文件.log不需要提交。media文件夹和db.sqlite3文件可能包括了本地测试数据和文件,也不要提交。PyCharm生成的文件, Env文件第三方package也不要提交。

# Django #
*.log
*.pot
*.pyc
__pycache__
db.sqlite3
media

# Backup files #
*.bak

# If you are using PyCharm #
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/dictionaries
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.xml
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/gradle.xml
.idea/**/libraries
*.iws /out/

# Python #
*.py[cod]
*$py.class

# Distribution / packaging
.Python build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
.pytest_cache/
nosetests.xml
coverage.xml
*.cover
.hypothesis/

# pyenv
.python-version

# celery
celerybeat-schedule.*

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# mkdocs documentation
/site

# mypy
.mypy_cache/

# Sublime Text #
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache
*.sublime-workspace
*.sublime-project

# sftp configuration file
sftp-config.json

# Package control specific files Package
Control.last-run
Control.ca-list
Control.ca-bundle
Control.system-ca-bundle
GitHub.sublime-settings

Django数据库迁移文件是否需要上传

数据库迁移文件位于每个app文件夹的migrations文件夹里,这些文件记录了模型的创建与改动。每次当你创建模型或对模型字段进行修改,然后运行python manage.py makemigrations命令时都会有新的迁移文件产生。Django官方文档特别说明这些迁移文件属于Django项目代码中很重要的一部分,不应删除或忽略,所以建议上传。然而实际项目开发中,不同人可能对同一个模型做出了不同或甚至相反的改动,如果都向同一代码库提交,容易造成迁移文件冲突。综合前人们在stackoverflow上的讨论,小编总结了Django数据库迁移文件是否需要上传的答案。

开发环境

如果项目尚处于开发阶段,你可以选择提交,也可以选择不提交。每次在你创建模型或对模型进行改动后,可以直接使用python manage.py makemigrations根据models.py重新生成迁移文件,而不需要保留之前迁移文件版本。如果你从github上clone的项目里没有迁移文件,你可以使用同样命令生产迁移文件,然后使用python manage.py migrate对数据库中的表做出修改。

生产环境

如果项目已经处于生产环境,那么这时本地因对模型做出修改而产生的迁移文件也是需要提交的。不过千万要记住,在生产环境的机器上,不要使用python manage.py makemigrations再生成一遍迁移文件,而应直接使用python manage.py migrate根据已经提交的迁移文件对数据库中的表做出修改。

总而言之: 在大多数情况下,Django的迁移文件都是需要提交的,不建议忽略。即使发生冲突,也可以使用python manage.py makemigrations --merge 合并冲突。

参考资料

https://djangowaves.com/tips-tricks/gitignore-for-a-django-project/

https://stackoverflow.com/questions/28035119/should-i-be-adding-the-django-migration-files-in-the-gitignore-file

https://stackoverflow.com/questions/3719243/best-practices-for-adding-gitignore-file-for-python-projects

大江狗

2019.12.25

更多阅读

Django限制用户上传文件格式与大小的最佳处理方式是什么?

Python Web框架哪家强? Django vs Flask深度对比

最后

以上就是天真大门为你收集整理的Django项目上传.gitignore文件建议忽略文件清单及是否需要忽略数据库迁移文件的全部内容,希望文章能够帮你解决Django项目上传.gitignore文件建议忽略文件清单及是否需要忽略数据库迁移文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部