- I want to write easily and read anywhere.
- I want to change the styles of my pages anytime.
- I want to re-construct my pages freely.
- I want to get complete access control of my posts, and dynamic views with respect to the audiences.
- I want to get rid of ads.
- I want to ...
I want to have so many features, so I build my own website. And I also want to share it with anyone interested and improve it. Try the current version. A demo whose codes are completely the same as this repo.
If you do like static pages, my previous blog solution may be a good option.
- Current Backend: Django 2.0.2 (Python 3.5)
- Current Frontend: hodgepodge =_=
- Current Editor: Editor.md
- Current Features:
- User register and private space.
- Edit and view of posts and files.
- Enhanced markdown editor to write posts.
- Authority control (user access control, password control) of posts and files.
- Post list in the side bar.
- A tutorial and summary of the previous works.
- New Blog model to host blogs.
- Alternative styles.
- Self-organized page lists.
- Better editor.
- New Comment model.
- Faster, faster, faster.
- Interactive games between users.
Let's just do it.
These have been tested on ubuntu 14.04, 16.04, 18.04.
- Get Python3: official install,
apt-get install
, or Anaconda - Install pip: download and
python3 get-pip.py
- Install django:
pip3 install django==2.0.2
- Modify the config file
blogOurBlog/config.json
:- Change the hosts according to your domain.
- A complicated
secret_key
is suggested to replace the original one. - It's suggessted to turn off the debugging mode by set
show_debug_info
tofalse
.
- We suggest the next option to deploy the site. But if you insist to use Apache2:
apt-get install apache2 apache2-dev python3-dev libapache2-mod-wsgi-py3
- Add this to the end of
/etc/apache2/envvars
export LANG='en_US.UTF-8' export LC_ALL='en_US.UTF-8'
- Add this to the begining of
/etc/apache2/apache2.conf
Alias /static/ path-to-blogOurBlog/static/ <Directory path-to-blogOurBlog/static> Require all granted </Directory> WSGIScriptAlias / path-to-blogOurBlog/src/core/wsgi.py WSGIPythonPath path-to-blogOurBlog/src/ <Directory path-to-blogOurBlog/src/core/> <Files wsgi.py> Require all granted </Files> </Directory>
chmod -R 777 path-to-blogOurBlog/
service apache2 restart
- An easier way to deploy the site. if you use ubuntu, we suggest you open a new
screen
to do these. Now, expose the site on port 80 (or any other port):
$ cd path-to-blogOurBlog/src/
$ python3 manage.py runserver 80
- Use the browser to test whether you launched the site.
- The original admin account is :
- username: creator
- password: blogOurBlog
- It's the only account that can access the admin panel. Remember to change the password.