djangosnippets.org
这段代码用于运行代码片段分享网站 djangosnippets.org
_
使用 Windows 进行数据库设置
下载最新版本的 PostgreSQL_。点击可执行文件启动安装设置向导。
点击"下一步",在向导过程中保留所有默认设置。记下您为数据库超级用户(postgres)选择的密码。选择默认端口 5432 和默认语言环境。安装完成后,无需启动 Stack Builder。如果被询问,请取消勾选该选项,然后点击"完成"。
打开 SQL Shell (psql)。在 shell 中,选择服务器、数据库、端口和用户名的默认值(基本上,按 Enter 键四次)。
输入您之前记下的密码并按 Enter 键。运行以下命令,注意包含分号:::
$ CREATE DATABASE djangosnippets;
关闭 SQL Shell (psql)。
您需要将 .env.example 复制为 env.bat 并根据需要进行配置。使用以下模板,注意每行开头都要包含 set
,并将您之前记下的密码替换到 DATABASE_URL 中。对于开发环境,DEBUG 设置为 True。::
set REDISTOGO_URL=redis://redis:6379/0
set SECRET_KEY=p_o3vp1rg5)t^lxm9-43%0)s-=1qpeq%o7gfq+e4#*!t+_ev82
set DEBUG=True
set ALLOWED_HOSTS=0.0.0.0,127.0.0.1
set DATABASE_URL=postgres://postgres:your_password@:5432/djangosnippets
set DJANGO_SETTINGS_MODULE=djangosnippets.settings.development
set SEARCHBOX_SSL_URL=http://elasticsearch:9200/
set SESSION_COOKIE_SECURE=False
返回终端。每次打开新终端时,您都需要运行以下命令:::
$ env.bat
现在您的环境变量已设置,可以继续按照以下说明进行操作。
开发环境设置
在 Python 3.7 虚拟环境中:::
$ cd requirements
$ pip install -r development.txt
$ cd ..
$ python manage.py migrate
现在您可以启动开发服务器:::
$ python manage.py runserver
在实际使用该网站之前,您必须至少定义一种语言。如果您只想使用 djangosnippets.org 中的语言,它们包含在 fixtures 文件夹中。还包括五个代码片段来帮助您入门:::
$ python manage.py createsuperuser
$ python manage.py loaddata fixtures/cab.json
您需要使用 tailwindcss 构建 site.css:::
$ npm run build
现在您应该能够在 8000 端口上使用 djangosnippets 的开发版本。
运行测试:::
$ python manage.py test --settings=djangosnippets.settings.testing
Docker
您需要将 .env.example 复制为 .env 并根据需要进行配置。该示例适用于开发环境。
如果您希望在本地使用 Docker 进行生产依赖测试和开发,以下是设置说明:::
$ docker-compose -f docker-compose.yml build
$ docker-compose -f docker-compose.yml up -d
-d 表示在分离状态下运行 Docker:::
$ docker-compose -f docker-compose.yml run web python manage.py migrate
$ docker-compose -f docker-compose.yml run web python manage.py createsuperuser
$ docker-compose -f docker-compose.yml run web python manage.py loaddata fixtures/cab.json
$ npm run build
$ docker-compose -f docker-compose.yml run web python manage.py collectstatic
Docker 设置尽可能接近 Heroku 的生产设置:
Postgres 12.3 Gunicorn Redis
使用 Docker 运行测试:::
$ docker-compose -f docker-compose.yml run web python manage.py test --settings=djangosnippets.settings.testing
样式贡献者?
DjangoSnippets 使用 Foundation_ 框架作为其视觉风格的核心。要在本地机器上运行,您需要 compass_ 和 bower_ 来编译样式表。请切勿直接修改生成的 .css 文件。请使用 .scss 文件。
为了尽可能简化设置过程,在终端中运行以下命令:::
$ cd djangosnippets/static
$ bower install && compass watch
如果您尚未安装这两个工具,可以在它们各自的网站上找到详细说明。
请确保您只提交压缩版本的 CSS 文件,因为这是将要部署的版本。(为此,djangosnippets/static/config.rb
中的默认配置为 output_style = :compressed
)
生产环境设置
生产环境设置目前针对 Heroku 进行了定制,因此大部分是自动的。这两种设置之间的差异在 djangosnippets.settings.production <./djangosnippets/settings/production.py>
_ 模块和 requirements.txt <./requirements.txt>
_ 文件中进行了配置。
.. _bower: http://bower.io/ .. _compass: http://compass-style.org/install/ .. _foundation: http://foundation.zurb.com/ .. _djangosnippets.org: https://djangosnippets.org/ .. _PostgreSQL: https://www.enterprisedb.com/downloads/postgres-postgresql-downloads