博客
关于我
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、HBase 和 Elasticsearch:特点与区别详解
查看>>
MySQL、Redis高频面试题汇总
查看>>
MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
查看>>
mysql一个字段为空时使用另一个字段排序
查看>>
MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
查看>>
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
Mysql下载以及安装(新手入门,超详细)
查看>>
MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
查看>>
MySQL不同字符集及排序规则详解:业务场景下的最佳选
查看>>
Mysql不同官方版本对比
查看>>
MySQL与Informix数据库中的同义表创建:深入解析与比较
查看>>
mysql与mem_细说 MySQL 之 MEM_ROOT
查看>>
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>
mysql丢失更新问题
查看>>
MySQL两千万数据优化&迁移
查看>>
MySql中 delimiter 详解
查看>>
MYSQL中 find_in_set() 函数用法详解
查看>>