Backend code for my blogs, develop with Django Rest framework.
Alternatives To Blogbackendproject
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Python 100 Days131,710
17 days ago680Python
Python - 100天从新手到大师
Django Rest Framework25,23324,5951,5082 days ago134December 15, 2021128otherPython
Web APIs for Django. 🎸
Awesome Django6,748
18 days ago4cc0-1.0HTML
A curated list of awesome things related to Django
Drf Yasg3,0442907612 days ago59October 25, 2020232otherPython
Automated generation of real Swagger/OpenAPI 2.0 schemas from Django REST Framework code.
Django Rest Swagger2,5162,031412 years ago50April 30, 2018168bsd-2-clausePython
Swagger Documentation Generator for Django REST Framework: deprecated
Django Rest Auth2,3311,109248 months ago25April 01, 2019234mitPython
This app makes it extremely easy to build Django powered SPA's (Single Page App) or Mobile apps exposing all registration and authentication related functionality as CBV's (Class Base View) and REST (JSON)
Djoser2,228212518 days ago48October 30, 2020180mitPython
REST implementation of Django authentication system.
Drf Nested Routers1,465621295 days ago19October 15, 202148apache-2.0Python
Nested Routers for Django Rest Framework
Cookiecutter Django Rest1,374
20 hours ago5mitPython
Build best practiced apis fast with Python3
Drf Extensions1,326323146 months ago16July 30, 202174mitPython
DRF-extensions is a collection of custom extensions for Django REST Framework
Alternatives To Blogbackendproject
Select To Compare

Alternative Project Comparisons

Front and back end of the separation of the blog project - back-end projects

Blog has been online, welcome to browse:


This repository stores the backend code for blog entries, built using Django and the Django Rest Framework.

Note: The front-end code repository linked to this repository is linked here [Blog-Frontend-Project] (LennonChin/Blog-Frontend-Project) and the front-end code is implemented using Vue.js + Vue-Router + iView.js.

Control Panel effect display

PC Platform

Home Page

Article List Page

Add Article Page

Add Article Page

Mobile Platform

Mobile effect

Overall technology stack

  1. Python environment: Python 3.6.2

  2. Mainly dependent

Note: For more technical stack dependencies, see the requirements.txt file

Implemented basic functions

Back-end project has achieved 19 interfaces, the main function points are as follows:

  1. The realization of the three sections: articles, atlas and photography, respectively, corresponding to the three different modes of presentation; at the same time to achieve time-axis archiving section;
  2. Implementation of the management console in the three sections of the article's release, you can publish Markdown format article (using EditorMD editor); 3 comment function, the current method is to use the nickname + email, the first comment will verify the mailbox (by sending a verification code);
  3. Achieve the article encryption function;
  4. Implementation of the seven cattle cloud storage services docking, publishing reviews and other operations will upload the image data to the seven Niuniu; currently does not provide the corresponding services within the project, such as the need to docking please buy seven Niuniu storage object services;

Note: The xadmin, EditorMD and other plug-ins used in the project are developed for the second time. In order to cooperate with the project-specific functions, please do not change the plug-in easily.

Next will be achieved

  1. Access GitHub, WeChat, Weibo, Facebook and other third-party login comments.
  2. Add more columns.

How to use

  1. Clone this project
  2. local installation of Python3 and pip environment;
  3. After installing the virtualenv and virtualenvwrapper environment, execute the following command to create a virtual environment:
# Create a workspace
> mkvirtualenv BlogBackend
# Activate the workspace
> workon BlogBackend
# Change to the root directory of this project, Install dependencies
> pip install -r requirements.txt
  1. Next, if you are using PyCharm as a development environment, modify its Project Interpreter to workspace we made above.
  2. In this project, sensitive account information is not provided, but stored in file, this file is not managed to the warehouse, so you need to create a file in the same level file Document, which reads as follows:
#! / usr / bin / python3
# - * - coding: utf-8 - * -
# @Time: 2017/12/29 6:01 PM
# @Author: LennonChin
# @Email: [email protected]
# @File:
# @Software: PyCharm

# Site Secret Key,it is a copy of file's SECRET_KEY option

# Database connection configuration
    'ENGINE': '', # Database Engine
    'NAME': '', # database name used in the database
    "USER": '', # database user name
    "PASSWORD": '', # database password
    "HOST": '', # database address
    'PORT': 3306, # database access port,MySQL is 3306 default
    'OPTIONS': {
        "init_command": "SET default_storage_engine = INNODB;",

# Send mail server configuration
    'EMAIL_HOST': "", # mail server address
    'EMAIL_PORT': 25, # mail server port, usually 25
    'EMAIL_HOST_USER': "", # mail server account
    'EMAIL_HOST_PASSWORD': "", # mail server password
    'EMAIL_USE_TLS': False, # Whether to use TLS encryption connection, generally not used
    'EMAIL_FROM': "" # This item is generally the same as EMAIL_HOST

# Qiniu Yun related configuration
PRIVATE_QINIU_ACCESS_KEY = '' # Qiniu Access key
PRIVATE_QINIU_SECRET_KEY = '' # Qiniu Secret key
PRIVATE_QINIU_BUCKET_DOMAIN = '' # Qiniu Bucket domain

PRIVATE_MEDIA_URL_PREFIX = '' # Resource prefix used when accessing Cattle Cloud
PRIVATE_SITE_BASE_URL = '' # Site URL, for example as you site access domain

The SECRET_KEY(PRIVATE_SECRET_KEY)above is a key that generated by django, we can also generate it by myself, generate way as follow:

In [1]: from import utils

In [2]: utils.get_random_secret_key()
Out[2]: '7%x-f2u#@[email protected]$q(=_yauzx8i4$8u&5epa=w^[email protected]+!r1'

SECRET_KEY is auto generated by django when we start a project, the way use code above, you can read the source code for details.

  1. Configure the above configs, use the following command to migrate the table:
> python makemigrations
> python migrate

Note: If the migration fails, you can migrate by user, material, base, user_operation, index and remaining modules in that order.

  1. Then start the project directly use the following command:
> python runserver

By default, if you run the evelopment Server after running ' 8000, the provided interface is at, background management address 8000/xadmin.

At the same time, if you want the front-end to access the back-end interface, you need to fill in the site information in the back-end of the basic configuration - Web site configuration, the most important thing is to fill in the API interface BaseURL entry for your front-end page to access the interface API.


In this project, I use Pygments and pymdownx to process markdown convert, and I expand these two third-party plugins, the expanded code saved at path apps/utils/HTMLFormatter, and there is a test file you can experiment. If you want to use these two super expandations, you need two steps. First, copy to your project virtual environment, overwrite the file of pymdownx, just as my project virtual environment named BlogBackend, and it's path is virtualEnvs/BlogBackend/lib/python3.6/site-packages/pymdownx. Then you need to rename apps/utils/HTMLFormatter/ to apps/utils/HTMLFormatter/ in these project, and copy the renamed file to your project virtual environment, overwrite the source code files of pygments, just as the path of my project's virtual environment is virtualEnvs/BlogBackend/lib/python3.6/site-packages/pygments/formatters.

If you feel the steps above is complex, you can also run project directly, but cannot use the expanded markdown convert syntaxes, example page: Expand Markdown syntax of this website.


[Apache-2.0] (

Copyright (c) 2016-present, LennonChin

Popular Rest Projects
Popular Django Projects
Popular Application Programming Interfaces Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Rest Api
Django Rest Framework