博客
关于我
django myDailyFresh share
阅读量:789 次
发布时间:2019-03-25

本文共 4208 字,大约阅读时间需要 14 分钟。

创建项目和应用

项目初期设置

django-admin startproject mysitespython manage.py startapp cartpython manage.py startapp goodspython manage.py startapp orderpython manage.py startapp user

数据库创建

python manage.py makemigrationspython manage.py migrate

创建超级用户

python manage.py createsuperuser

配置路径

  • settings.py 中添加:
    import syssys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

allowed hosts 设置

  • settings.py 中设置:
    ALLOWED_HOSTS = ['*']

静态文件配置

  • 创建静态文件目录:
    mkdir static
  • settings.py 中添加:
    STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

模板文件配置

  • 创建模板目录:
    mkdir templates
  • settings.py 中设置:
    TEMPLATES = [    {        'DIRS': [os.path.join(BASE_DIR, 'templates')],    },]

时间区和语言设置

  • settings.py 中设置:
    LANGUAGE_CODE = 'zh-hans'TIME_ZONE = 'Asia/Shanghai'USE_TZ = False

MySQL数据库配置

  • 安装 MySQL 的 Python 绑定:
    pip install pymysql
  • settings.py 中设置数据库配置:
    DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql',        'NAME': 'my_daily_fresh',        'USER': 'root',        'PASSWORD': '123456',        'HOST': '192.168.1.101',        'PORT': 3306,    },}
  • 创建数据库并注册服务:
    mysqld --installnet start mysqlnet stop mysql

Captcha 配置

  • 安装包:
    pip install django-simple-captcha
  • INSTALLED_APPS 中加入:
    'captcha',
  • 在 URLs 中包含 captcha 路由:
    from django.urls import includeurlpatterns = [    path('captcha/', include('captcha.urls')),]

用户认证设置

  • AUTH_USER_MODEL 中设置自定义模型:
    AUTH_USER_MODEL = 'user.User'

富文本编辑器配置

  • 安装包:
    pip install django-ckeditor
  • INSTALLED_APPS 中加入:
    'ckeditor',
  • 在模型中使用富文本字段:
    from ckeditor.fields import RichTextFielddetail = RichTextField(blank=True, verbose_name='商品详情')

Redis 配置

  • 安装包:
    pip install django-redis
  • CACHES 中设置:
    CACHES = {    'default': {        'BACKEND': 'django_redis.cache.RedisCache',        'LOCATION': 'redis://192.168.1.102:6379/1',        'OPTIONS': {            'CLIENT_CLASS': 'django_redis.client.DefaultClient',        },    },}
  • 设置会话和缓存:
    SESSION_ENGINE = 'django.contrib.sessions.backends.cache'SESSION_CACHE_ALIAS = 'default'

Redis 安装(适用于 Windows)

  • 安装 Redis 并在 Visual Studio 中配置:
    .\redis-server.exe
  • 启用 Redis 客户端:
    .\redis-cli.exe

FastDFS 配置

  • 配置 tracker.conf:
    bind_addr=port=22122base_path=/home/wenhchen/fastdfs/tracker
  • 配置 storage.conf:
    bind_addr=port=23000tracker_server=192.168.1.103:22122base_path=/home/wenhchen/fastdfs/storagestore_path_count=2group_name=group1
  • 安装并配置 Nginx:
    ./configure --prefix=/usr/local/nginx/ --add-module=/home/wenhchen/software/fastdfs-nginx-module/srcmakemake install
  • 配置模块:
    cp /home/wenhchen/software/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf

uwsgi 配置

  • 在项目根目录下创建 uwsgi.ini:
    [uwsgi]socket=192.168.1.107:8000chdir=/home/wenhchen/projects/myDailyFreshwsgi-file=myDaily Fresh/wsgi.pyprocesses=4threads=2master=Truepidfile=uwsgi.piddaemonize=uwsgi.log
  • 启动 uwsgi:
    uwsgi –-ini uwsgi.ini

部署

Nginx 配置

  • 配置静态文件路径:
    location /static {    alias /home/wenhchen/www/myDailyFresh/static_root/;}
  • 代理 uwsgi 路由:
    upstream myDailyFresh {    server 192.168.1.107:8000;    server 192.168.1.108:8000;}location / {    include uwsgi_params;    uwsgi_pass myDailyFresh;}

Docker 部署

MySQL

docker run -itd --name myDailyFresh_mysql -e MYSQL_ROOT_PASSWORD=123456 mysql /bin/bashdocker exec -it myDailyFresh_mysql /bin/bashmysql> create database myDailyFresh;

Redis

docker run -itd --name myDailyFresh_redis redis /bin/bashdocker exec -it myDailyFresh_redis /bin/bash

FastDFS Tracker

docker run -itd --name myDailyFresh_fastDFS_tracker centos /bin/bashdocker exec -it myDailyFresh_fastDFS_tracker /bin/bash

FastDFS Storage

docker run -itd --name myDailyFresh_fastDFS_storage1 centos /bin/bashdocker exec -it myDailyFresh_fastDFS_storage1 /bin/bash

Nginx

docker run -itd --name myDailyFresh_fastDFS_nginx nginx /bin/bashdocker exec -it myDailyFresh_fastDFS_nginx /bin/bash

Django

创建两个节点:

docker run -itd --name myDailyFresh_django1 -v C:\code\django\myDailyFresh:/home/wenhchen/myDailyFresh python /bin/bashdocker run -itd --name myDailyFresh_django2 -v C:\code\django\myDailyFresh:/home/wenhchen/myDailyFresh python /bin/bash

Static 服务器

docker run -itd --name myDailyFresh_home_nginx -p 80:80 -v C:\code\django\myDailyFresh\static_root:/home/wenhchen/myDailyFresh\static_root nginx /bin/bashdocker exec -it myDailyFresh_home_nginx /bin/bash

模块安装

  • 安装并配置所有相关依赖。
  • 使用 ./make.sh 脚本完成自定义模块的安装和配置

转载地址:http://zstuk.baihongyu.com/

你可能感兴趣的文章
mysql 判断表字段是否存在,然后修改
查看>>
MySQL 到底能不能放到 Docker 里跑?
查看>>
mysql 前缀索引 命令_11 | Mysql怎么给字符串字段加索引?
查看>>
MySQL 加锁处理分析
查看>>
mysql 协议的退出命令包及解析
查看>>
mysql 参数 innodb_flush_log_at_trx_commit
查看>>
mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
查看>>
MySQL 命令和内置函数
查看>>
mysql 四种存储引擎
查看>>
MySQL 在并发场景下的问题及解决思路
查看>>
MySQL 基础架构
查看>>
MySQL 基础模块的面试题总结
查看>>
MySQL 备份 Xtrabackup
查看>>
mYSQL 外键约束
查看>>
mysql 多个表关联查询查询时间长的问题
查看>>
mySQL 多个表求多个count
查看>>
mysql 多字段删除重复数据,保留最小id数据
查看>>
MySQL 多表联合查询:UNION 和 JOIN 分析
查看>>
MySQL 大数据量快速插入方法和语句优化
查看>>
mysql 如何给SQL添加索引
查看>>