IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    DannySite 4.1: 更新与使用说明

    博客 - DannySite发表于 2016-03-05 03:41:06
    love 0
    不得不说时间飞逝,距离上一次网站的更新又一晃眼过去了大半年的时间。这一段时间其实挺忙的,做了些项目、学习了一些新的知识、到不少地方旅游了一下、为自己增加了一个个人主页(http://danny.onl)、过了一个欢快的春节...最后又回过来对自己的网站做了一次小小的更新。当然这其实是有原因的啦。 最近更换了服务器,如果有朋友时长关注这些,会发现我转向了阿里云香港的服务器上,并且走的 CN2 线路,不得不说确实对于国内来说更快更稳了点。虽然这里只是一个小小小的个人网站,不过既然存在,那就应该想办法做得更好,也让来访的朋友更舒心。另外,我也将静态文件迁移至了 OSS 上,因此本次更新也主要是为了适配这一点。 另外,有很多朋友提到说我虽然公开了网站源码,但对于项目该如何配置与部署说得非常含糊。我确实意识到了这一点并不是一个好的作风。也借此机会在这里对“如何使用”做一个补充。   更新日志 1. 在博客首页增加对“友情链接”的显示; 2. 增加对阿里云 OSS 的支持,在使用前请针对 settings 中的 OSS_OPTIONS 配置项进行配置; 3. 修改 CKEditor 相关逻辑以支持阿里云 OSS,在使用前,需设置 DEFAULT_FILE_STORAGE 为 'core.storage.AliOSSStorage' 并将 CKEDITOR_IMAGE_BACKEND 配置项改为 'oss'; 4. test.models 增加 oss_image,可以在 INSTALLED_APPS 中引入 test 对 OSS 上传进行测试。   使用说明 工程代码:https://github.com/manyunkai/dannysite4 1. 基础环境搭建: dannysite4 是在 Python3 上开发,并做了对 Python2.7 的支持;因此需安装 2.7.3 以上或 3.2 以上版本的 Python;Django 需选择 1.8.X 版本;另外还需安装以下第三方库: pymysql==0.6.6 pillow==2.8.1 six==1.9.0 redis==2.10.3 qrcode==5.1 requests==2.8.1 oss2==2.0.5 如果要统计博客的访问量,还需正确配置 redis。 2. 基本配置项说明: 这里我主要针对我自定义添加的一些配置项做一个详细的说明: ACCOUNT_LOCK_TIME = 30 * 60 ACCOUNT_LOCK_BY_ATTEMPTED_COUNT = 5 这两项是关于账户安全的配置,即在登录时如果遇到多次密码错误的情况,会临时锁定该账户以保证安全。其中 ACCOUNT_LOCK_BY_ATTEMPTED_COUNT 是可尝试的次数,如果大于此次数则会被锁定,ACCOUNT_LOCK_TIME 是临时锁定的时间,单位为秒,如这里设定的是半个小时。 CKEDITOR_UPLOAD_PATH = 'uploads/' CKEDITOR_IMAGE_BACKEND = 'pillow' CKEDITOR_CONFIGS = { 'default': { 'toolbar': 'cus', }, 'basic': { 'toolbar': 'Basic' } } 以上是针对 CKEditor 富文本编辑器的配置,CKEDITOR_UPLOAD_PATH 指定文件上传的根目录,CKEDITOR_IMAGE_BACKEND 指定图片处理的 backend,我在此增加了一个 oss 的 backend 来增加对阿里云 OSS 的支持,我会在后面详细描述。CKEDITOR_CONFIGS 是配置富文本编辑器功能面板的。其他还有很多可配置项,具体可参考 CKEditor 的文档。 BLOG_VISITORS_CACHE_KEY = 'blog:{0}:visitors' BLOG_VISITORS_CACHE_TIMEOUT = 24 * 60 * 60 这两项是针对博客访问量缓存的配置,BLOG_VISITORS_CACHE_KEY 配置缓存的 KEY 值,BLOG_VISITORS_CACHE_TIMEOUT 则是缓存周期,意思是在缓存周期内,一个 session 对一个页面的多次访问只计 1 次有效访问。博客访问量的统计用到了 redis 作为缓存,因此还有如下关于 redis 的配置项: REDIS_HOST = 'localhost' REDIS_PORT = 6379 REDIS_PASSWORD = None REDIS_SOCKET_TIMEOUT = None REDIS_CONNECTION_POOL = None REDIS_CHARSET = 'utf-8 最后是 OSS 配置: OSS_OPTIONS = { 'bucket': '', # your bucket 'location': '', # root you want to store you files 'base_url': '', # url prefix when requesting 'image_process_base_url': '', # url prefix when requesting processed image 'image_process_rule': '', # such as @1e_1c_0o_0l_100h_100w_100q 'endpoint': '', # your endpoint 'access_key': '', # your access key 'access_key_secret': '' # your access key secret } 另外记得检查一下数据库、模板等配置。 3. 运行测试服务器: 配置好之后,首先初始化数据库: python manage.py migrate 并增加一个超级用户: python manage.py createsuperuser 最后即可尝试运行了: python manage.py runserver   如何使用 OSS 作为存储的 backend 对于最基本的使用来说,只要正确配置 OSS_OPTIONS,即可开始使用了。你可以将 test 加入到 INSTALLED_APPS 中,然后尝试到后台管理的以下位置做文件上传的尝试: 请注意我在 test.models.Test.oss_image 上指定了 storage=AliOSSStorage()。 如果要在 CKEditor 中也使用到 OSS 作为上传文件的存储 backend,则需要做一下配置修改: 将 DEFAULT_FILE_STORAGE 改为 core.storage.AliOSSStorage: DEFAULT_FILE_STORAGE = 'core.storage.AliOSSStorage' 将 CKEDITOR_IMAGE_BACKEND 改为 oss: CKEDITOR_IMAGE_BACKEND = 'oss' 然后按需修改 CKEDITOR_UPLOAD_PATH,然后你可以在 CKEditor 中尝试上传图片等。   大概就是这样了,如果有任何问题,都可以随时与我联系,我们一起交流讨论。


沪ICP备19023445号-2号
友情链接