master
parent
15b198fde5
commit
df7ae3a5fd
@ -1,32 +1,39 @@
|
||||
# MemcacheStorage.py
|
||||
from werobot.session import SessionStorage
|
||||
from werobot.utils import json_loads, json_dumps
|
||||
|
||||
from djangoblog.utils import cache
|
||||
from djangoblog.utils import cache # 导入Django缓存工具
|
||||
|
||||
|
||||
class MemcacheStorage(SessionStorage):
|
||||
# 基于Memcache的会话存储实现
|
||||
def __init__(self, prefix='ws_'):
|
||||
self.prefix = prefix
|
||||
self.cache = cache
|
||||
self.prefix = prefix # 缓存键前缀
|
||||
self.cache = cache # Django缓存实例
|
||||
|
||||
@property
|
||||
def is_available(self):
|
||||
# 检查Memcache是否可用
|
||||
value = "1"
|
||||
self.set('checkavaliable', value=value)
|
||||
return value == self.get('checkavaliable')
|
||||
|
||||
def key_name(self, s):
|
||||
# 生成完整的缓存键名
|
||||
return '{prefix}{s}'.format(prefix=self.prefix, s=s)
|
||||
|
||||
def get(self, id):
|
||||
# 从缓存获取会话数据
|
||||
id = self.key_name(id)
|
||||
session_json = self.cache.get(id) or '{}'
|
||||
return json_loads(session_json)
|
||||
session_json = self.cache.get(id) or '{}' # 如果不存在返回空字典的JSON
|
||||
return json_loads(session_json) # 解析JSON字符串为Python对象
|
||||
|
||||
def set(self, id, value):
|
||||
# 设置会话数据到缓存
|
||||
id = self.key_name(id)
|
||||
self.cache.set(id, json_dumps(value))
|
||||
self.cache.set(id, json_dumps(value)) # 将Python对象序列化为JSON字符串存储
|
||||
|
||||
def delete(self, id):
|
||||
# 删除会话数据
|
||||
id = self.key_name(id)
|
||||
self.cache.delete(id)
|
||||
self.cache.delete(id) # 从缓存中删除
|
||||
@ -1,5 +1,12 @@
|
||||
# apps.py
|
||||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class ServermanagerConfig(AppConfig):
|
||||
# ServermanagerConfig 类继承自 Django 的 AppConfig 基类
|
||||
# 这是 Django 应用的配置类,用于对 servermanager 应用进行配置
|
||||
|
||||
name = 'servermanager'
|
||||
# name 属性指定了该配置类对应的 Django 应用的名称
|
||||
# 这里的值是 'servermanager',表示这个配置类用于配置名为 servermanager 的 Django 应用
|
||||
# 这个名称应该与应用的目录名保持一致
|
||||
@ -1,32 +1,42 @@
|
||||
# Generated by Django 4.2.5 on 2023-09-06 13:19
|
||||
# 0002_alter_emailsendlog_options_and_more.py
|
||||
# 由Django 4.2.5于2023-09-06 13:19生成
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
# 依赖之前的初始迁移文件
|
||||
dependencies = [
|
||||
('servermanager', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
# 修改EmailSendLog模型的选项配置
|
||||
migrations.AlterModelOptions(
|
||||
name='emailsendlog',
|
||||
options={'ordering': ['-creation_time'], 'verbose_name': '邮件发送log', 'verbose_name_plural': '邮件发送log'},
|
||||
options={
|
||||
'ordering': ['-creation_time'], # 修改排序字段为creation_time
|
||||
'verbose_name': '邮件发送log', # 保持单数显示名称不变
|
||||
'verbose_name_plural': '邮件发送log', # 保持复数显示名称不变
|
||||
},
|
||||
),
|
||||
# 重命名commands模型的created_time字段为creation_time
|
||||
migrations.RenameField(
|
||||
model_name='commands',
|
||||
old_name='created_time',
|
||||
new_name='creation_time',
|
||||
old_name='created_time', # 原字段名
|
||||
new_name='creation_time', # 新字段名
|
||||
),
|
||||
# 重命名commands模型的last_mod_time字段为last_modify_time
|
||||
migrations.RenameField(
|
||||
model_name='commands',
|
||||
old_name='last_mod_time',
|
||||
new_name='last_modify_time',
|
||||
old_name='last_mod_time', # 原字段名
|
||||
new_name='last_modify_time', # 新字段名
|
||||
),
|
||||
# 重命名EmailSendLog模型的created_time字段为creation_time
|
||||
migrations.RenameField(
|
||||
model_name='emailsendlog',
|
||||
old_name='created_time',
|
||||
new_name='creation_time',
|
||||
old_name='created_time', # 原字段名
|
||||
new_name='creation_time', # 新字段名
|
||||
),
|
||||
]
|
||||
]
|
||||
Loading…
Reference in new issue