在gitignore应该是什么,以及如何将env文件夹放到gitignore并且我的文件夹结构是否正确?

em *_*our 8 python django

我即将部署我的项目.在我上传到bitbucket之前,我发现我没有创建gitignore.现在我创建了gitignore,并且不确定要添加什么,所以我用google搜索并找到了推荐的.gitignore文件用于Python项目? 据此,这是最好的一个

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]

# C extensions
*.so

# Distribution / packaging
bin/
build/
develop-eggs/
dist/
eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

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

# Unit test / coverage reports
.tox/
.coverage
.cache
nosetests.xml
coverage.xml

# Translations
*.mo

# Mr Developer
.mr.developer.cfg
.project
.pydevproject

# Rope
.ropeproject

# Django stuff:
*.log
*.pot

# Sphinx documentation
docs/_build/ 
Run Code Online (Sandbox Code Playgroud)

但我甚至不知道我的项目中有这些东西.另外我看到我也想忽略virtualenv文件夹.我有

project
----project(inside here my files exist)
----env
----static
----.gitignore
----Read_Me.txt
----requirements.txt
Run Code Online (Sandbox Code Playgroud)

Mat*_*Dfr 16

你的env文件夹应该在gitignore中,但它不一定在你的项目文件夹中.你可以把你想要的一切都放在你的gitignore中,我的看起来像(对于一个非常大的项目),例如:

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
db.sqlite3
migrations/
media/
settings.py
# C extensions
*.so

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

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

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

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

# Translations
*.mo
*.pot

# Django stuff:
*.log

# Sphinx documentation
docs/_build/

# PyBuilder
target/
Run Code Online (Sandbox Code Playgroud)

你的文件夹结构似乎很好,我会添加一些dirs,以优化你的代码和目录架构,我的看起来像那样,这非常棒,但你可以做你想要的所有项目:

project/
---project/
---app1/
---app2/
------migrations/
------url/
---------__init__.py
---------url1.py
---------url2.py
------views/
---------__init__.py
---------view1.py
---------view2.py
------forms/
---------__init__.py
---------form1.py
------models/
---------__init__.py
---------model1.py
---------model2.py
---app3/
---static/
---templates/
------app1/
------app2/
---------view1/
-------------home.html
---------layout.html
------app3/
---templatetags/
---manage.py
Run Code Online (Sandbox Code Playgroud)

此项目结构允许您分离所有应用程序的不同模板,更好地快速轻松地修改它们.它允许你在每个应用程序中都有一个重构的代码,它允许防止futurs代码错误(文件中的4000个代码行真的很快来,所以要小心!).

所有静态和模板标签都有一个单独的文件夹,因此您可以在模板中的任何地方使用它,非常棒!

记住,你可以用你的文件夹结构做你想做的一切,你能做的最好的是最适合你的:)

希望能帮助到你 !


lou*_*tre 5

您的 virtualenv 文件夹可以完全位于您的跟踪文件夹之外。只需在其中添加requirements.txt即可。

  • 我的意思是:您的 venv 文件夹应该位于系统中的其他位置。没有理由通过 git 或其他东西来跟踪 venv 文件夹。然而,必须跟踪“requirements.txt”是有意义的。因此,在其他地方重建 venv,并在项目文件夹中运行 `pip freeze >requirements.txt` 。 (3认同)