【备忘录】Djnago开发环境

安装pyenv

$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ export PYENV_ROOT="$HOME/.pyenv"
$ export PATH="$PYENV_ROOT/bin:$PATH"
$ eval "$(pyenv init -)"

安装最新版本的Python。

查找最新版本的Python

$ pyenv install --list

安装最新版本的Python

$ pyenv install 3.8.1
$ pyenv local 3.8.1
$ python -V
Python 3.8.1

安装pipenv

$ pip install pipenv

当使用pipenv进行安装时,通常会安装到~/.local/share/virtualenvs/目录下,但我们希望它安装到项目的根目录下的.venv文件夹中。.venv文件夹会在进入虚拟环境时自动创建。

$ echo 'export PIPENV_VENV_IN_PROJECT=1' >> ~/.bash_profile

在pipenv的虚拟环境中指定要使用的Python版本。

$ pipenv --python 3.8

进入虚拟环境。

$ pipenv shell
django
│── Pipfile
│── Pipfile.lock
└── .venv

包裹管理

$ pipenv install django django-bootstrap4
$ pipenv install --dev django-debug-toolbar django-webpack-loader #開発環境のみ

Pipenv默认无法安装预发布版本的软件包。您需要在Pipfile中添加以下设置。

[pipenv]
allow_prereleases = true

Django 项目

在pipenv的虚拟环境中创建项目。

$ django-admin startproject config .
django
│── config
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
│── Pipfile
│── Pipfile.lock
├── .venv
└── manage.py

将设置文件分割

django
├── config
│   ├── __init__.py
│   ├── settings
│   │   ├── __init__.py
│   │   ├── base.py # 共通の設定
│   │   ├── production.py # 本番環境だけに適用したい設定
│   │   ├── development.py # 開発環境だけに適用したい設定
│   │   └── test.py # テストだけに適用したい設定
│   ├── urls.py
│   └── wsgi.py
│── Pipfile
│── Pipfile.lock
├── .venv
└── manage.py

由于目录发生变化,需要修改base.py文件中的BASE_DIR。

- BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+ BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
# 本番環境だけに適用したい設定
from .base import *

DEBUG = True
# 開発環境だけに適用したい設定
from .base import *

DEBUG = False

创建应用程序

python manage.py startapp test_app 
django
├── config
│── Pipfile
│── Pipfile.lock
├── .venv
│── manage.py
└── test_app
    ├── __init__.py
    ├── admin.py
    ├── apps.py
    ├── migrations
    ├── models.py
    ├── tests.py
    └── views.py

整理模板

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        + 'DIRS': [os.path.join(BASE_DIR, "templates")],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
django
├── config
│── Pipfile
│── Pipfile.lock
├── .venv
│── manage.py
│── templates
│   └── test_app
└── test_app
    ├── __init__.py
    ├── admin.py
    ├── apps.py
    ├── migrations
    ├── models.py
    ├── tests.py
    └── views.py

整理静态变量

整合应用程序

请你在中国的母语中进行改写:
提供范例

https://fclef.jp/20191103/:
这是一个链接到https://fclef.jp/20191103/的网址。

Django Folder and File Project Structure: Best Practices


这是一个连接到https://studygyaan.com/django/best-practice-to-structure-django-project-directories-and-files 的网址。

广告
将在 10 秒后关闭
bannerAds