{"id":13848967,"url":"https://github.com/billvsme/vmaig_blog","last_synced_at":"2025-07-12T14:30:48.266Z","repository":{"id":31758087,"uuid":"35324266","full_name":"billvsme/vmaig_blog","owner":"billvsme","description":"an opensource blog system based on django 2.2 and bootstrap https://vmaig.com","archived":false,"fork":false,"pushed_at":"2024-04-03T17:29:33.000Z","size":2485,"stargazers_count":350,"open_issues_count":8,"forks_count":215,"subscribers_count":39,"default_branch":"master","last_synced_at":"2024-08-05T19:36:23.633Z","etag":null,"topics":["blog","bootstrap","django","docker","python"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/billvsme.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-09T10:17:00.000Z","updated_at":"2024-07-24T02:38:40.000Z","dependencies_parsed_at":"2023-01-14T19:42:57.615Z","dependency_job_id":null,"html_url":"https://github.com/billvsme/vmaig_blog","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/billvsme%2Fvmaig_blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/billvsme%2Fvmaig_blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/billvsme%2Fvmaig_blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/billvsme%2Fvmaig_blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/billvsme","download_url":"https://codeload.github.com/billvsme/vmaig_blog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225825268,"owners_count":17529905,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blog","bootstrap","django","docker","python"],"created_at":"2024-08-04T19:01:03.460Z","updated_at":"2024-11-22T00:31:34.812Z","avatar_url":"https://github.com/billvsme.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"vmaig.com 网站源码\n=================\n[![ENV](https://img.shields.io/badge/python-2.7%2C3.4-blue.svg)](https://github.com/billvsme/vmaig_blog)\n[![LICENSE](https://img.shields.io/badge/license-BSD-blue.svg)](https://github.com/billvsme/vmaig_blog/blob/master/LICENSE)\n[![Travis](https://img.shields.io/travis/billvsme/vmaig_blog.svg)](https://travis-ci.org/billvsme/vmaig_blog)\n[![Docker Stars](https://img.shields.io/docker/stars/billvsme/vmaig_blog.svg)](https://hub.docker.com/r/billvsme/vmaig_blog/)\n[![Docker Pulls](https://img.shields.io/docker/pulls/billvsme/vmaig_blog.svg)](https://hub.docker.com/r/billvsme/vmaig_blog/)\n# 有问题欢迎加qq群\nvmaig qq群: 458788510  \n我的qq: 994171686  \n\n[使用Docker部署vmaig_blog](http://vmaig.com/article/deplay_vmaig_blog.html)\n\n# 更新日志\n2015/5/15 从django1.6 升级到 django1.8 (还保留django1.6分支)  \n2015/6/21 添加[xadmin分支](https://github.com/billvsme/vmaig_blog/tree/xadmin),xadmin分支中使用xadmin作为后台管理(使用 django 1.8),如果你想后台比较漂亮可以切换到xadmin分支(注意你不需要pip install django-xadmin 但是需要安装django-crispy-forms跟django-reversion详细步骤见xadmin分支中的README)  \n2015/7/5 对xadmin分支中的错误进行了比较大的修改  \n2016/3/17 添加评论回复  \n2016/3/22 添加Dockerfile，使用Docker部署本博客  \n2020/6/04 从django1.8 升级到 django2.2\n\n# 概述\nvmaig\\_blog 是一个基于  **Django2.2**  跟  **Bootstrap3**  开发的 **博客系统** ，实现了一个博客完整的功能。https://vmaig.com 就是基于vmaig\\_blog 搭建的。\n# 功能\n1. 文章,分类,专栏的添加，删除，修改。支持**tinymce**富文本编辑器。支持文章中代码**高亮**。\n2. 实现**用户注册,登陆,修改密码,忘记重置密码**。通过**邮箱**通知注册用户, 用户忘记密码基于邮件（需要在setting.py设置好邮箱)。\n3. 实现**用户头像**，用户可以上传头像，然后编辑头像大小，然后保存，头像可以存在本地，也可自动保存在**七牛**云中（需要在setting.py 中设置好七牛的相关配置, 并修改相关代码）。\n4. **支持评论**，实现了一个独立的评论系统。\n5. 首页支持显示**轮播**，显示最新评论，显示人气最高的文章。\n6. 首页支持显示**标签云**，拥有一个非常酷炫的便签云。\n7. 拥有一个**动态加载**的“全部文章”板块 可以显示所有文章分类，可以按照浏览数或者时间排序显示文章。\n8. 拥有一个以**时间轴**显示的非常酷炫的“新闻”板块，你可以每天在后台添加新闻。\n9. 支持**手机浏览**，对手机浏览进行了调整。\n\n# Demo\nhttps://vmaig.com   \n\n# 预览\n![首页](https://vmaig.com/static/img/vmaig_01.jpg)\n![头像](https://vmaig.com/static/img/vmaig_02.jpg)\n![评论](https://vmaig.com/static/img/vmaig_03.jpg)\n![新闻](https://vmaig.com/static/img/vmaig_news.jpg)\n\n# 安装运行\n安装virtualenv :\n\n    sudo pip install virtualenv\n\n创建并激活虚拟环境 :\n\n    virtualenv www\n    cd www\n    source bin/active\n\n下载代码,切换目录 :\n    \n    git clone https://github.com/billvsme/vmaig_blog\n    cd vmaig_blog\n\n首先安装相关Pillow 用到的c库 :\n(详见https://pillow.readthedocs.org/en/3.1.x/installation.html#building-on-linux)\n\n    sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev \\\n        libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk\n\n然后 :\n\n    pip install -r requirements.txt\n（注意如果使用python3，还需要pip install python3-memcached）\n\n配置vmaig_blog/settings/dev.py (继承vmaig_blog/settings/base.py):\n\n    vim vmaig_blog/settings/dev.py\n设置其中的  PAGE\\_NUM 每页显示文章数，EMAIL\\_HOST(你用的邮箱的smtp)，EMAIL\\_PORT(smtp端口)，EMAIL\\_HOST\\_USER(你的邮箱的用户名)，EMAIL\\_HOST\\_PASSWORD(你的邮箱密码)，如果要使用七牛设置好七牛的相关配置。  \n**注意**：如果想用使用ssl的邮箱（比如qq邮箱），请安装django-smtp-ssl，详见https://github.com/bancek/django-smtp-ssl\n```\n    # 分页配置\n    PAGE_NUM = 3\n\n    # email配置\n    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'\n    EMAIL_HOST = ''                        #SMTP地址 例如: smtp.163.com\n    EMAIL_PORT = 25                        #SMTP端口 例如: 25\n    EMAIL_HOST_USER = ''                   #我自己的邮箱 例如: xxxxxx@163.com\n    EMAIL_HOST_PASSWORD = ''               #我的邮箱密码 例如  xxxxxxxxx\n    EMAIL_SUBJECT_PREFIX = u'vmaig'        #为邮件Subject-line前缀,默认是'[django]'\n    EMAIL_USE_TLS = True                   #与SMTP服务器通信时，是否启动TLS链接(安全链接)。默认是false\n\n    DEFAULT_FROM_EMAIL = EMAIL_HOST_USER\n\n    # 网站标题等内容配置\n    WEBSITE_TITLE = u'Vmaig'\n    WEBSITE_WELCOME = u'欢迎来到Vmaig'\n```\n\n初始化数据库 :\n\n    python manage.py makemigrations\n    python manage.py migrate\n    python manage.py createsuperuser\n    \n运行 :\n    \n    python manage.py runserver\n    \n    \n# 接下来该干什么？\n在浏览器中输入 http://127.0.0.1:8000/admin  \n输入前面初始化数据库时的用户名密码。  \n后台中，可以  \n通过“轮播”添加首页的轮播  \n通过“导航条”添加首页nav中的项目  \n通过“专栏” 添加博客专栏（可以和导航条结合起来）  \n通过“资讯” 添加转载的新闻  \n通过“分类” “文章” 添加分类跟文章  \n通过“用户” 对用户进行操作  \n\n**特别注意**\n首页的便签云中的内容，在后台不能修改。\n请修改  blog/templates/blog/widgets/tags_cloud.html 中的 tags数组的内容。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbillvsme%2Fvmaig_blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbillvsme%2Fvmaig_blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbillvsme%2Fvmaig_blog/lists"}