第二-四章 mysql配置 Django高级实战 开发企业级问答网站 第四章

2-1 Pipenv管理项目环境(附文档)

pip3 install pipenv
pip3 --where
pip3 --venv
pip3 --py
  • -bash: pipenv: command not found
ln -sv /usr/local/python3/bin/pipenv /usr/bin/pipenv

2-2 Pipenv管理Python虚拟环境
2-3 优先使用自定义的用户模型
2-4 使用通用类视图(GCBV)
2-5 在系统环境变量中保存敏感信息
2-6 为不同环境分别配置settings.py文件
2-7 一定要编写测试用例

第4章 Cookiecutter火速搭建项目+开发环境介绍

4-1 Cookiecutter安装和使用(附文档)

  • pip 先安装cookiecutter
  • 确认可以ssh clone github上的代码.
/usr/local/python3/bin/cookiecutter git@github.com:pydanny/cookiecutter-django.git

然后用django模板.

4-2 使用Cookiecutter快速搭建Django应用
4-3 cookiecutter-django火速搭建项目

[root@localhost test]# /usr/local/python3/bin/cookiecutter git@github.com:pydanny/cookiecutter-django.git
You've downloaded /root/.cookiecutters/cookiecutter-django before. Is it okay to delete and re-download it? [yes]: no
Do you want to re-use the existing version? [yes]: yes
project_name [My Awesome Project]: zanhu
project_slug [zanhu]: zanhu
description [Behold My Awesome Project!]: a Q&A website
author_name [Daniel Roy Greenfeld]: lvyang
domain_name [example.com]: zanhu.com
email [lvyang@example.com]: tylvyang@qq.com
version [0.1.0]: 
Select open_source_license:
1 - MIT
2 - BSD
3 - GPLv3
4 - Apache Software License 2.0
5 - Not open source
Choose from 1, 2, 3, 4, 5 (1, 2, 3, 4, 5) [1]: 5
timezone [UTC]: Asia/Shanghai
windows [n]: n
use_pycharm [n]: y
use_docker [n]: n
Select postgresql_version:
1 - 11.3
2 - 10.8
3 - 9.6
4 - 9.5
5 - 9.4
Choose from 1, 2, 3, 4, 5 (1, 2, 3, 4, 5) [1]: 1
Select js_task_runner:
1 - None
2 - Gulp
Choose from 1, 2 (1, 2) [1]: 1
Select cloud_provider:
1 - AWS
2 - GCP
3 - None
Choose from 1, 2, 3 (1, 2, 3) [1]: 3
custom_bootstrap_compilation [n]: n
use_compressor [n]: y
use_celery [n]: y
use_mailhog [n]: n
use_sentry [n]: n
use_whitenoise [n]: n
use_heroku [n]: n
use_travisci [n]: n
keep_local_envs_in_vcs [y]: n
debug [n]: y
 [WARNING]: You chose not to use a cloud provider, media files won't be served in production.
 [SUCCESS]: Project initialized, keep up the good work!

4-4 项目开发环境介绍(服务器环境和Pycharm远程开发设置)
systemctl status redis


直接yum 安装的redis 不是最新版本

yum install redis
如果要安装最新的redis,需要安装Remi的软件源,官网地址:http://rpms.famillecollet.com/

yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
然后可以使用下面的命令安装最新版本的redis:

yum --enablerepo=remi install redis
安装完毕后,即可使用下面的命令启动redis服务

service redis start
或者
systemctl start redis
mysql> set password for root@localhost = password('123');  
yum 

4-5 删改部分文件完成项目初始模板

介绍神器Cookiecutter,它的优点和局限,按照确定的技术栈选择cookiecutter-django搭建具有高完成度的项目,学习Python项目如何组织代码,如何管理配置,如何管理依赖。项目开发环境介绍:Pycharm连接CentOS 7远程开发设置,以及MySQL用户权限管理和安全设置。

[精华]4-4 项目开发环境介绍(服务器环境和Pycharm远程开发设置)

需要安装mysql和redis

centos配置

  • yum install python
    -devel mysql-devel mysql-lib

django-copress依赖

  • yum install bzip2-devel

  • 数据库操作
    登录:

mysql -uroot -p  
  • 显示数据库
show databases;
  • 创建数据库
create database zanhu charset utf8;
  • 创建用户
create user 'zanhu'@'%' identified by 'zAnhu6.6';
  • 用户授权zanhu
grant  all on zanhu.* to 'zanhu'@'%';
  • 用户授权test_zanhu
grant  all on test_zanhu.* to 'zanhu'@'%';
  • 更新权限信息
flush privileges;
  • 退出
exit

配置pycharm 远程开发环境.

  1. 打开空的zanhu文件夹.
  2. Tools--Deployment--Configuration
1121568639426_.pic_hd.jpg
1131568639446_.pic.jpg

2 依赖环境. 虚拟环境依赖远程

1161568640437_.pic_hd.jpg
1141568640290_.pic_hd.jpg
  • 同步代码下载linux到本地.


    1181568640820_.pic.jpg
    1. 运行支持. 配置pycharm 服务器.


      1201568641245_.pic.jpg
1191568641160_.pic_hd.jpg
  • 总结 1. 同步代码. 2 依赖环境. 3. 运行支持.

依赖服务器的python 解释器

  • create database zanhu charset utf8;

  • create user 'zanhu02'@'%' identified by 'zAnhu6.6';

  • grant all on zanhu02.* to 'zanhu02'@'%';

  • flush privileges;

pipenv

  • pipenv --py
  • pipenv --three

4-5 删改部分文件完成项目初始模板

  • /doc/ 删除.

  • /utillity 用不到 删除 . 安装 requirements local.txt就行.

  • pipenv install -r requirements/local.txt

  • config/setting/base.py

  • 是否读取.env文件, 开发阶段改成True.

READ_DOT_ENV_FILE = env.bool("DJANGO_READ_DOT_ENV_FILE", default=False)
  • 语言改成中文
LANGUAGE_CODE = "zh-Hans"

DATABASES['default']['ATOMIC_REQUESTS'] = True  # 将HTTP请求封装到事务

  • 'django.contrib.humanize', 开启.模板标签.
    

DJANGO_APPS = [
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.humanize', 
    'django.forms',
]
CSRF_COOKIE_HTTPONLY = False  # 默认为False, 如果设置为True, JS将不能获取到CSRF cookie
  • EMAIL
# EMAIL
# ------------------------------------------------------------------------------
# https://docs.djangoproject.com/en/dev/ref/settings/#email-backend
EMAIL_BACKEND = env('DJANGO_EMAIL_BACKEND', default='django.core.mail.backends.smtp.EmailBackend')
# https://docs.djangoproject.com/en/dev/ref/settings/#email-host
EMAIL_HOST = env('DJANGO_EMAIL_HOST')
# https://docs.djangoproject.com/en/dev/ref/settings/#email-port
EMAIL_USE_SSL = env('DJANGO_EMAIL_USE_SSL', default=True)
EMAIL_PORT = env('DJANGO_EMAIL_PORT', default=465)
EMAIL_HOST_USER = env('DJANGO_EMAIL_HOST_USER')
EMAIL_HOST_PASSWORD = env('DJANGO_EMAIL_HOST_PASSWORD')
DEFAULT_FROM_EMAIL = env('DJANGO_DEFAULT_FROM_EMAIL')
  • local.py
ALLOWED_HOSTS = ["*"]

连接数据库.

DATABASE_URL=mysql://yousi:zAnhu6.6@127.0.0.1:3306/yousi

  • wsgi
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local")

在linux上安装psycopg2出错--Error: pg_config executable not found.

yum install postgresql postgresql-devel python-devel
pipenv run python manage.py migrate

  • 防火墙.
systemctl stop firewalld.service 

···

brew switch openssl 1.0.2s
···

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容