|
|
|
|
@ -19,214 +19,215 @@ from oauth.models import OAuthUser, OAuthConfig
|
|
|
|
|
|
|
|
|
|
# Create your tests here.
|
|
|
|
|
|
|
|
|
|
class ArticleTest(TestCase):
|
|
|
|
|
def setUp(self):
|
|
|
|
|
self.client = Client()
|
|
|
|
|
self.factory = RequestFactory()
|
|
|
|
|
|
|
|
|
|
def test_validate_article(self):
|
|
|
|
|
site = get_current_site().domain
|
|
|
|
|
user = BlogUser.objects.get_or_create(
|
|
|
|
|
class ArticleTest(TestCase): #ZNY 定义文章测试类,继承Django测试用例
|
|
|
|
|
def setUp(self): #ZNY 测试初始化方法
|
|
|
|
|
self.client = Client() #ZNY 创建测试客户端
|
|
|
|
|
self.factory = RequestFactory() #ZNY 创建请求工厂
|
|
|
|
|
|
|
|
|
|
def test_validate_article(self): #ZNY 测试文章验证方法
|
|
|
|
|
site = get_current_site().domain #ZNY 获取当前站点域名
|
|
|
|
|
user = BlogUser.objects.get_or_create( #ZNY 获取或创建测试用户
|
|
|
|
|
email="liangliangyy@gmail.com",
|
|
|
|
|
username="liangliangyy")[0]
|
|
|
|
|
user.set_password("liangliangyy")
|
|
|
|
|
user.is_staff = True
|
|
|
|
|
user.is_superuser = True
|
|
|
|
|
user.save()
|
|
|
|
|
response = self.client.get(user.get_absolute_url())
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
response = self.client.get('/admin/servermanager/emailsendlog/')
|
|
|
|
|
response = self.client.get('admin/admin/logentry/')
|
|
|
|
|
s = SideBar()
|
|
|
|
|
s.sequence = 1
|
|
|
|
|
s.name = 'test'
|
|
|
|
|
s.content = 'test content'
|
|
|
|
|
s.is_enable = True
|
|
|
|
|
s.save()
|
|
|
|
|
|
|
|
|
|
category = Category()
|
|
|
|
|
category.name = "category"
|
|
|
|
|
category.creation_time = timezone.now()
|
|
|
|
|
category.last_mod_time = timezone.now()
|
|
|
|
|
category.save()
|
|
|
|
|
|
|
|
|
|
tag = Tag()
|
|
|
|
|
tag.name = "nicetag"
|
|
|
|
|
tag.save()
|
|
|
|
|
|
|
|
|
|
article = Article()
|
|
|
|
|
article.title = "nicetitle"
|
|
|
|
|
article.body = "nicecontent"
|
|
|
|
|
article.author = user
|
|
|
|
|
article.category = category
|
|
|
|
|
article.type = 'a'
|
|
|
|
|
article.status = 'p'
|
|
|
|
|
|
|
|
|
|
article.save()
|
|
|
|
|
self.assertEqual(0, article.tags.count())
|
|
|
|
|
article.tags.add(tag)
|
|
|
|
|
article.save()
|
|
|
|
|
self.assertEqual(1, article.tags.count())
|
|
|
|
|
|
|
|
|
|
for i in range(20):
|
|
|
|
|
article = Article()
|
|
|
|
|
article.title = "nicetitle" + str(i)
|
|
|
|
|
article.body = "nicetitle" + str(i)
|
|
|
|
|
article.author = user
|
|
|
|
|
article.category = category
|
|
|
|
|
article.type = 'a'
|
|
|
|
|
article.status = 'p'
|
|
|
|
|
article.save()
|
|
|
|
|
article.tags.add(tag)
|
|
|
|
|
article.save()
|
|
|
|
|
from blog.documents import ELASTICSEARCH_ENABLED
|
|
|
|
|
if ELASTICSEARCH_ENABLED:
|
|
|
|
|
call_command("build_index")
|
|
|
|
|
response = self.client.get('/search', {'q': 'nicetitle'})
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
|
|
|
|
|
response = self.client.get(article.get_absolute_url())
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
from djangoblog.spider_notify import SpiderNotify
|
|
|
|
|
SpiderNotify.notify(article.get_absolute_url())
|
|
|
|
|
response = self.client.get(tag.get_absolute_url())
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
|
|
|
|
|
response = self.client.get(category.get_absolute_url())
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
|
|
|
|
|
response = self.client.get('/search', {'q': 'django'})
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
s = load_articletags(article)
|
|
|
|
|
self.assertIsNotNone(s)
|
|
|
|
|
|
|
|
|
|
self.client.login(username='liangliangyy', password='liangliangyy')
|
|
|
|
|
|
|
|
|
|
response = self.client.get(reverse('blog:archives'))
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
|
|
|
|
|
p = Paginator(Article.objects.all(), settings.PAGINATE_BY)
|
|
|
|
|
self.check_pagination(p, '', '')
|
|
|
|
|
|
|
|
|
|
p = Paginator(Article.objects.filter(tags=tag), settings.PAGINATE_BY)
|
|
|
|
|
self.check_pagination(p, '分类标签归档', tag.slug)
|
|
|
|
|
|
|
|
|
|
p = Paginator(
|
|
|
|
|
user.set_password("liangliangyy") #ZNY 设置用户密码
|
|
|
|
|
user.is_staff = True #ZNY 设置为管理员
|
|
|
|
|
user.is_superuser = True #ZNY 设置为超级用户
|
|
|
|
|
user.save() #ZNY 保存用户
|
|
|
|
|
response = self.client.get(user.get_absolute_url()) #ZNY 访问用户详情页
|
|
|
|
|
self.assertEqual(response.status_code, 200) #ZNY 断言响应状态码为200
|
|
|
|
|
response = self.client.get('/admin/servermanager/emailsendlog/') #ZNY 访问邮件发送日志管理页
|
|
|
|
|
response = self.client.get('admin/admin/logentry/') #ZNY 访问日志条目管理页
|
|
|
|
|
s = SideBar() #ZNY 创建侧边栏实例
|
|
|
|
|
s.sequence = 1 #ZNY 设置排序序号
|
|
|
|
|
s.name = 'test' #ZNY 设置侧边栏名称
|
|
|
|
|
s.content = 'test content' #ZNY 设置侧边栏内容
|
|
|
|
|
s.is_enable = True #ZNY 启用侧边栏
|
|
|
|
|
s.save() #ZNY 保存侧边栏
|
|
|
|
|
|
|
|
|
|
category = Category() #ZNY 创建分类实例
|
|
|
|
|
category.name = "category" #ZNY 设置分类名称
|
|
|
|
|
category.creation_time = timezone.now() #ZNY 设置创建时间
|
|
|
|
|
category.last_mod_time = timezone.now() #ZNY 设置修改时间
|
|
|
|
|
category.save() #ZNY 保存分类
|
|
|
|
|
|
|
|
|
|
tag = Tag() #ZNY 创建标签实例
|
|
|
|
|
tag.name = "nicetag" #ZNY 设置标签名称
|
|
|
|
|
tag.save() #ZNY 保存标签
|
|
|
|
|
|
|
|
|
|
article = Article() #ZNY 创建文章实例
|
|
|
|
|
article.title = "nicetitle" #ZNY 设置文章标题
|
|
|
|
|
article.body = "nicecontent" #ZNY 设置文章正文
|
|
|
|
|
article.author = user #ZNY 设置文章作者
|
|
|
|
|
article.category = category #ZNY 设置文章分类
|
|
|
|
|
article.type = 'a' #ZNY 设置文章类型为普通文章
|
|
|
|
|
article.status = 'p' #ZNY 设置文章状态为发布
|
|
|
|
|
|
|
|
|
|
article.save() #ZNY 保存文章
|
|
|
|
|
self.assertEqual(0, article.tags.count()) #ZNY 断言初始标签数量为0
|
|
|
|
|
article.tags.add(tag) #ZNY 添加标签到文章
|
|
|
|
|
article.save() #ZNY 保存文章
|
|
|
|
|
self.assertEqual(1, article.tags.count()) #ZNY 断言标签数量为1
|
|
|
|
|
|
|
|
|
|
for i in range(20): #ZNY 循环创建20篇文章
|
|
|
|
|
article = Article() #ZNY 创建文章实例
|
|
|
|
|
article.title = "nicetitle" + str(i) #ZNY 设置带编号的文章标题
|
|
|
|
|
article.body = "nicetitle" + str(i) #ZNY 设置带编号的文章正文
|
|
|
|
|
article.author = user #ZNY 设置文章作者
|
|
|
|
|
article.category = category #ZNY 设置文章分类
|
|
|
|
|
article.type = 'a' #ZNY 设置文章类型为普通文章
|
|
|
|
|
article.status = 'p' #ZNY 设置文章状态为发布
|
|
|
|
|
article.save() #ZNY 保存文章
|
|
|
|
|
article.tags.add(tag) #ZNY 添加标签到文章
|
|
|
|
|
article.save() #ZNY 保存文章
|
|
|
|
|
from blog.documents import ELASTICSEARCH_ENABLED #ZNY 导入Elasticsearch启用标志
|
|
|
|
|
if ELASTICSEARCH_ENABLED: #ZNY 如果Elasticsearch已启用
|
|
|
|
|
call_command("build_index") #ZNY 调用构建索引命令
|
|
|
|
|
response = self.client.get('/search', {'q': 'nicetitle'}) #ZNY 搜索文章
|
|
|
|
|
self.assertEqual(response.status_code, 200) #ZNY 断言搜索响应状态码为200
|
|
|
|
|
|
|
|
|
|
response = self.client.get(article.get_absolute_url()) #ZNY 访问文章详情页
|
|
|
|
|
self.assertEqual(response.status_code, 200) #ZNY 断言响应状态码为200
|
|
|
|
|
from djangoblog.spider_notify import SpiderNotify #ZNY 导入蜘蛛通知模块
|
|
|
|
|
SpiderNotify.notify(article.get_absolute_url()) #ZNY 通知蜘蛛文章URL
|
|
|
|
|
response = self.client.get(tag.get_absolute_url()) #ZNY 访问标签详情页
|
|
|
|
|
self.assertEqual(response.status_code, 200) #ZNY 断言响应状态码为200
|
|
|
|
|
|
|
|
|
|
response = self.client.get(category.get_absolute_url()) #ZNY 访问分类详情页
|
|
|
|
|
self.assertEqual(response.status_code, 200) #ZNY 断言响应状态码为200
|
|
|
|
|
|
|
|
|
|
response = self.client.get('/search', {'q': 'django'}) #ZNY 搜索django相关内容
|
|
|
|
|
self.assertEqual(response.status_code, 200) #ZNY 断言响应状态码为200
|
|
|
|
|
s = load_articletags(article) #ZNY 加载文章标签
|
|
|
|
|
self.assertIsNotNone(s) #ZNY 断言标签不为空
|
|
|
|
|
|
|
|
|
|
self.client.login(username='liangliangyy', password='liangliangyy') #ZNY 登录用户
|
|
|
|
|
|
|
|
|
|
response = self.client.get(reverse('blog:archives')) #ZNY 访问文章归档页
|
|
|
|
|
self.assertEqual(response.status_code, 200) #ZNY 断言响应状态码为200
|
|
|
|
|
|
|
|
|
|
p = Paginator(Article.objects.all(), settings.PAGINATE_BY) #ZNY 创建文章分页器
|
|
|
|
|
self.check_pagination(p, '', '') #ZNY 检查首页分页
|
|
|
|
|
|
|
|
|
|
p = Paginator(Article.objects.filter(tags=tag), settings.PAGINATE_BY) #ZNY 创建标签文章分页器
|
|
|
|
|
self.check_pagination(p, '分类标签归档', tag.slug) #ZNY 检查标签分页
|
|
|
|
|
|
|
|
|
|
p = Paginator( #ZNY 创建作者文章分页器
|
|
|
|
|
Article.objects.filter(
|
|
|
|
|
author__username='liangliangyy'), settings.PAGINATE_BY)
|
|
|
|
|
self.check_pagination(p, '作者文章归档', 'liangliangyy')
|
|
|
|
|
self.check_pagination(p, '作者文章归档', 'liangliangyy') #ZNY 检查作者分页
|
|
|
|
|
|
|
|
|
|
p = Paginator(Article.objects.filter(category=category), settings.PAGINATE_BY)
|
|
|
|
|
self.check_pagination(p, '分类目录归档', category.slug)
|
|
|
|
|
p = Paginator(Article.objects.filter(category=category), settings.PAGINATE_BY) #ZNY 创建分类文章分页器
|
|
|
|
|
self.check_pagination(p, '分类目录归档', category.slug) #ZNY 检查分类分页
|
|
|
|
|
|
|
|
|
|
f = BlogSearchForm()
|
|
|
|
|
f.search()
|
|
|
|
|
# self.client.login(username='liangliangyy', password='liangliangyy')
|
|
|
|
|
from djangoblog.spider_notify import SpiderNotify
|
|
|
|
|
SpiderNotify.baidu_notify([article.get_full_url()])
|
|
|
|
|
f = BlogSearchForm() #ZNY 创建搜索表单实例
|
|
|
|
|
f.search() #ZNY 执行搜索
|
|
|
|
|
# self.client.login(username='liangliangyy', password='liangliangyy') #ZNY 注释掉的登录代码
|
|
|
|
|
from djangoblog.spider_notify import SpiderNotify #ZNY 导入蜘蛛通知模块
|
|
|
|
|
SpiderNotify.baidu_notify([article.get_full_url()]) #ZNY 通知百度文章完整URL
|
|
|
|
|
|
|
|
|
|
from blog.templatetags.blog_tags import gravatar_url, gravatar
|
|
|
|
|
u = gravatar_url('liangliangyy@gmail.com')
|
|
|
|
|
u = gravatar('liangliangyy@gmail.com')
|
|
|
|
|
from blog.templatetags.blog_tags import gravatar_url, gravatar #ZNY 导入Gravatar相关函数
|
|
|
|
|
u = gravatar_url('liangliangyy@gmail.com') #ZNY 获取Gravatar头像URL
|
|
|
|
|
u = gravatar('liangliangyy@gmail.com') #ZNY 获取Gravatar头像HTML
|
|
|
|
|
|
|
|
|
|
link = Links(
|
|
|
|
|
link = Links( #ZNY 创建友情链接实例
|
|
|
|
|
sequence=1,
|
|
|
|
|
name="lylinux",
|
|
|
|
|
link='https://wwww.lylinux.net')
|
|
|
|
|
link.save()
|
|
|
|
|
response = self.client.get('/links.html')
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
|
|
|
|
|
response = self.client.get('/feed/')
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
|
|
|
|
|
response = self.client.get('/sitemap.xml')
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
|
|
|
|
|
self.client.get("/admin/blog/article/1/delete/")
|
|
|
|
|
self.client.get('/admin/servermanager/emailsendlog/')
|
|
|
|
|
self.client.get('/admin/admin/logentry/')
|
|
|
|
|
self.client.get('/admin/admin/logentry/1/change/')
|
|
|
|
|
|
|
|
|
|
def check_pagination(self, p, type, value):
|
|
|
|
|
for page in range(1, p.num_pages + 1):
|
|
|
|
|
s = load_pagination_info(p.page(page), type, value)
|
|
|
|
|
self.assertIsNotNone(s)
|
|
|
|
|
if s['previous_url']:
|
|
|
|
|
response = self.client.get(s['previous_url'])
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
if s['next_url']:
|
|
|
|
|
response = self.client.get(s['next_url'])
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
|
|
|
|
|
def test_image(self):
|
|
|
|
|
import requests
|
|
|
|
|
rsp = requests.get(
|
|
|
|
|
link.save() #ZNY 保存链接
|
|
|
|
|
response = self.client.get('/links.html') #ZNY 访问友情链接页
|
|
|
|
|
self.assertEqual(response.status_code, 200) #ZNY 断言响应状态码为200
|
|
|
|
|
|
|
|
|
|
response = self.client.get('/feed/') #ZNY 访问RSS订阅
|
|
|
|
|
self.assertEqual(response.status_code, 200) #ZNY 断言响应状态码为200
|
|
|
|
|
|
|
|
|
|
response = self.client.get('/sitemap.xml') #ZNY 访问站点地图
|
|
|
|
|
self.assertEqual(response.status_code, 200) #ZNY 断言响应状态码为200
|
|
|
|
|
|
|
|
|
|
self.client.get("/admin/blog/article/1/delete/") #ZNY 访问文章删除页
|
|
|
|
|
self.client.get('/admin/servermanager/emailsendlog/') #ZNY 访问邮件发送日志管理页
|
|
|
|
|
self.client.get('/admin/admin/logentry/') #ZNY 访问日志条目管理页
|
|
|
|
|
self.client.get('/admin/admin/logentry/1/change/') #ZNY 访问日志条目编辑页
|
|
|
|
|
|
|
|
|
|
def check_pagination(self, p, type, value): #ZNY 检查分页方法
|
|
|
|
|
for page in range(1, p.num_pages + 1): #ZNY 遍历所有分页
|
|
|
|
|
s = load_pagination_info(p.page(page), type, value) #ZNY 加载分页信息
|
|
|
|
|
self.assertIsNotNone(s) #ZNY 断言分页信息不为空
|
|
|
|
|
if s['previous_url']: #ZNY 如果存在上一页URL
|
|
|
|
|
response = self.client.get(s['previous_url']) #ZNY 访问上一页
|
|
|
|
|
self.assertEqual(response.status_code, 200) #ZNY 断言响应状态码为200
|
|
|
|
|
if s['next_url']: #ZNY 如果存在下一页URL
|
|
|
|
|
response = self.client.get(s['next_url']) #ZNY 访问下一页
|
|
|
|
|
self.assertEqual(response.status_code, 200) #ZNY 断言响应状态码为200
|
|
|
|
|
|
|
|
|
|
def test_image(self): #ZNY 测试图片相关功能
|
|
|
|
|
import requests #ZNY 导入requests库
|
|
|
|
|
rsp = requests.get( #ZNY 下载图片
|
|
|
|
|
'https://www.python.org/static/img/python-logo.png')
|
|
|
|
|
imagepath = os.path.join(settings.BASE_DIR, 'python.png')
|
|
|
|
|
with open(imagepath, 'wb') as file:
|
|
|
|
|
imagepath = os.path.join(settings.BASE_DIR, 'python.png') #ZNY 构建图片保存路径
|
|
|
|
|
with open(imagepath, 'wb') as file: #ZNY 保存图片到本地
|
|
|
|
|
file.write(rsp.content)
|
|
|
|
|
rsp = self.client.post('/upload')
|
|
|
|
|
self.assertEqual(rsp.status_code, 403)
|
|
|
|
|
sign = get_sha256(get_sha256(settings.SECRET_KEY))
|
|
|
|
|
with open(imagepath, 'rb') as file:
|
|
|
|
|
imgfile = SimpleUploadedFile(
|
|
|
|
|
rsp = self.client.post('/upload') #ZNY 测试未授权上传
|
|
|
|
|
self.assertEqual(rsp.status_code, 403) #ZNY 断言返回403禁止访问
|
|
|
|
|
sign = get_sha256(get_sha256(settings.SECRET_KEY)) #ZNY 生成上传签名
|
|
|
|
|
with open(imagepath, 'rb') as file: #ZNY 打开图片文件
|
|
|
|
|
imgfile = SimpleUploadedFile( #ZNY 创建上传文件对象
|
|
|
|
|
'python.png', file.read(), content_type='image/jpg')
|
|
|
|
|
form_data = {'python.png': imgfile}
|
|
|
|
|
rsp = self.client.post(
|
|
|
|
|
form_data = {'python.png': imgfile} #ZNY 构建表单数据
|
|
|
|
|
rsp = self.client.post( #ZNY 执行上传请求
|
|
|
|
|
'/upload?sign=' + sign, form_data, follow=True)
|
|
|
|
|
self.assertEqual(rsp.status_code, 200)
|
|
|
|
|
os.remove(imagepath)
|
|
|
|
|
from djangoblog.utils import save_user_avatar, send_email
|
|
|
|
|
send_email(['qq@qq.com'], 'testTitle', 'testContent')
|
|
|
|
|
save_user_avatar(
|
|
|
|
|
self.assertEqual(rsp.status_code, 200) #ZNY 断言上传成功
|
|
|
|
|
os.remove(imagepath) #ZNY 删除临时图片文件
|
|
|
|
|
from djangoblog.utils import save_user_avatar, send_email #ZNY 导入工具函数
|
|
|
|
|
send_email(['qq@qq.com'], 'testTitle', 'testContent') #ZNY 测试发送邮件
|
|
|
|
|
save_user_avatar( #ZNY 测试保存用户头像
|
|
|
|
|
'https://www.python.org/static/img/python-logo.png')
|
|
|
|
|
|
|
|
|
|
def test_errorpage(self):
|
|
|
|
|
rsp = self.client.get('/eee')
|
|
|
|
|
self.assertEqual(rsp.status_code, 404)
|
|
|
|
|
def test_errorpage(self): #ZNY 测试错误页面
|
|
|
|
|
rsp = self.client.get('/eee') #ZNY 访问不存在的页面
|
|
|
|
|
self.assertEqual(rsp.status_code, 404) #ZNY 断言返回404错误
|
|
|
|
|
|
|
|
|
|
def test_commands(self):
|
|
|
|
|
user = BlogUser.objects.get_or_create(
|
|
|
|
|
def test_commands(self): #ZNY 测试管理命令
|
|
|
|
|
user = BlogUser.objects.get_or_create( #ZNY 获取或创建测试用户
|
|
|
|
|
email="liangliangyy@gmail.com",
|
|
|
|
|
username="liangliangyy")[0]
|
|
|
|
|
user.set_password("liangliangyy")
|
|
|
|
|
user.is_staff = True
|
|
|
|
|
user.is_superuser = True
|
|
|
|
|
user.save()
|
|
|
|
|
|
|
|
|
|
c = OAuthConfig()
|
|
|
|
|
c.type = 'qq'
|
|
|
|
|
c.appkey = 'appkey'
|
|
|
|
|
c.appsecret = 'appsecret'
|
|
|
|
|
c.save()
|
|
|
|
|
|
|
|
|
|
u = OAuthUser()
|
|
|
|
|
u.type = 'qq'
|
|
|
|
|
u.openid = 'openid'
|
|
|
|
|
u.user = user
|
|
|
|
|
u.picture = static("/blog/img/avatar.png")
|
|
|
|
|
u.metadata = '''
|
|
|
|
|
user.set_password("liangliangyy") #ZNY 设置用户密码
|
|
|
|
|
user.is_staff = True #ZNY 设置为管理员
|
|
|
|
|
user.is_superuser = True #ZNY 设置为超级用户
|
|
|
|
|
user.save() #ZNY 保存用户
|
|
|
|
|
|
|
|
|
|
c = OAuthConfig() #ZNY 创建OAuth配置实例
|
|
|
|
|
c.type = 'qq' #ZNY 设置OAuth类型为QQ
|
|
|
|
|
c.appkey = 'appkey' #ZNY 设置应用密钥
|
|
|
|
|
c.appsecret = 'appsecret' #ZNY 设置应用密钥
|
|
|
|
|
c.save() #ZNY 保存配置
|
|
|
|
|
|
|
|
|
|
u = OAuthUser() #ZNY 创建OAuth用户实例
|
|
|
|
|
u.type = 'qq' #ZNY 设置OAuth类型为QQ
|
|
|
|
|
u.openid = 'openid' #ZNY 设置OpenID
|
|
|
|
|
u.user = user #ZNY 关联用户
|
|
|
|
|
u.picture = static("/blog/img/avatar.png") #ZNY 设置头像路径
|
|
|
|
|
u.metadata = ''' #ZNY 设置元数据
|
|
|
|
|
{
|
|
|
|
|
"figureurl": "https://qzapp.qlogo.cn/qzapp/101513904/C740E30B4113EAA80E0D9918ABC78E82/30"
|
|
|
|
|
}'''
|
|
|
|
|
u.save()
|
|
|
|
|
u.save() #ZNY 保存OAuth用户
|
|
|
|
|
|
|
|
|
|
u = OAuthUser()
|
|
|
|
|
u.type = 'qq'
|
|
|
|
|
u.openid = 'openid1'
|
|
|
|
|
u.picture = 'https://qzapp.qlogo.cn/qzapp/101513904/C740E30B4113EAA80E0D9918ABC78E82/30'
|
|
|
|
|
u.metadata = '''
|
|
|
|
|
u = OAuthUser() #ZNY 创建另一个OAuth用户实例
|
|
|
|
|
u.type = 'qq' #ZNY 设置OAuth类型为QQ
|
|
|
|
|
u.openid = 'openid1' #ZNY 设置不同的OpenID
|
|
|
|
|
u.picture = 'https://qzapp.qlogo.cn/qzapp/101513904/C740E30B4113EAA80E0D9918ABC78E82/30' #ZNY 设置头像URL
|
|
|
|
|
u.metadata = ''' #ZNY 设置元数据
|
|
|
|
|
{
|
|
|
|
|
"figureurl": "https://qzapp.qlogo.cn/qzapp/101513904/C740E30B4113EAA80E0D9918ABC78E82/30"
|
|
|
|
|
}'''
|
|
|
|
|
u.save()
|
|
|
|
|
|
|
|
|
|
from blog.documents import ELASTICSEARCH_ENABLED
|
|
|
|
|
if ELASTICSEARCH_ENABLED:
|
|
|
|
|
call_command("build_index")
|
|
|
|
|
call_command("ping_baidu", "all")
|
|
|
|
|
call_command("create_testdata")
|
|
|
|
|
call_command("clear_cache")
|
|
|
|
|
call_command("sync_user_avatar")
|
|
|
|
|
call_command("build_search_words")
|
|
|
|
|
u.save() #ZNY 保存OAuth用户
|
|
|
|
|
|
|
|
|
|
from blog.documents import ELASTICSEARCH_ENABLED #ZNY 导入Elasticsearch启用标志
|
|
|
|
|
if ELASTICSEARCH_ENABLED: #ZNY 如果Elasticsearch已启用
|
|
|
|
|
call_command("build_index") #ZNY 调用构建索引命令
|
|
|
|
|
call_command("ping_baidu", "all") #ZNY 调用百度推送命令
|
|
|
|
|
call_command("create_testdata") #ZNY 调用创建测试数据命令
|
|
|
|
|
call_command("clear_cache") #ZNY 调用清除缓存命令
|
|
|
|
|
call_command("sync_user_avatar") #ZNY 调用同步用户头像命令
|
|
|
|
|
call_command("build_search_words") #ZNY 调用构建搜索词命令
|
|
|
|
|
|
|
|
|
|
|