首页 > 其他分享 >实战项目-美多商城(一)

实战项目-美多商城(一)

时间:2023-02-21 16:46:54浏览次数:28  
标签:实战 settings redis django 美多 import path os 商城

项目准备

  • 新建大目录

    • 前端文件

    • django项目文件

    • venv 虚拟环境

    • .gitignore文件(忽略项配置好)

    • 备注: '.idea'是Pycharm文件,无需理会

  • 执行git命令

- git init

- git add .

- git commit -m '初始化开发环境'

配置开发环境

  • 新建'local_settings'(负责各种密匙,区分开发/生成环境): 和'settings.py'同级目录
### settings 末尾加上以下代码
......
#-------------------local_settings-------------------------#
try:
    from . import local_settings  # 覆盖settings某些配置
except ImportError:
    pass

  • 配置mysql数据库
### settings
......
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 修改数据库为MySQL,并进行配置
        'NAME': 'meiduo_mail',  # 数据库的名称
        'USER': 'root',  # 数据库的用户名
        'PASSWORD': 'root',  # 数据库的密码
        'HOST': '127.0.0.1',
        'PORT': 3306,
        # 'OPTIONS': {'charset': 'utf8'}
    }
}

- 还需要安装 mysqlclient驱动,很有可能报一堆错误
  ......

  - 解决办法: 手动安装mysqlclient

    - 参考网址: https://blog.csdn.net/freedomlulux/article/details/103960082

  • 配置redis数据库
# 安装'django-redis'
pip install django-redis

### settings
......
CACHES = {
    "default": { # 保存 省市区数据
        "BACKEND": "django_redis.cache.RedisCache",
        # 使用0号数据库
        "LOCATION": "redis://192.168.11.38:6379/0",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "CONNECTION_POOL_KWARGS": {
                "max_connections": 1000,
                "encoding": 'utf-8'
            },
            # "PASSWORD": "foobared" # redis密码
        }
    },

    "session": { # 保存session数据
        "BACKEND": "django_redis.cache.RedisCache",
        # 使用1号数据库
        "LOCATION": "redis://192.168.11.38:6379/1",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "CONNECTION_POOL_KWARGS": {
                "max_connections": 1000,
                "encoding": 'utf-8'
            },
        }
    },
    "verify_codes": { # 保存验证码
            "BACKEND": "django_redis.cache.RedisCache",
            # 使用2号数据库
            "LOCATION": "redis://192.168.11.38:6379/2",
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
                "CONNECTION_POOL_KWARGS": {
                    "max_connections": 1000,
                    "encoding": 'utf-8'
                },
            }
    },
    "history": { # 保存用户浏览记录
            "BACKEND": "django_redis.cache.RedisCache",
            # 使用3号数据库
            "LOCATION": "redis://192.168.11.38:6379/3",
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
                "CONNECTION_POOL_KWARGS": {
                    "max_connections": 1000,
                    "encoding": 'utf-8'
                },
            }
        },
    "cart": { # 保存购物车数据
                "BACKEND": "django_redis.cache.RedisCache",
                "LOCATION": "redis://192.168.11.38:6379/4",
                "OPTIONS": {
                    "CLIENT_CLASS": "django_redis.client.DefaultClient",
                    "CONNECTION_POOL_KWARGS": {
                        "max_connections": 1000,
                        "encoding": 'utf-8'
                    },
                }
        },
}

# 修改session存储机制使用Redis保存
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
# 使用名为"session"的Redis配置项存储session数据
SESSION_CACHE_ALIAS = 'session'

  • 在django中测试redis(需先导入django配置)
### scripts.django_base_env.py
# -*- coding:utf-8 -*-
import os
import sys
import django


base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(base_dir)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "meiduo_mail.settings")
django.setup()  # os.environ['DJANGO_SETTINGS_MODULE']
### 测试
# -*- coding:utf-8 -*-
import os
import sys
import django


base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(base_dir)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "meiduo_mail.settings")
django.setup()  # os.environ['DJANGO_SETTINGS_MODULE']

from django_redis import get_redis_connection
conn =get_redis_connection('verify_codes')
print(conn) # 不会报错就说明配置正确

标签:实战,settings,redis,django,美多,import,path,os,商城
From: https://www.cnblogs.com/qinganning/p/17141522.html

相关文章