This is a demo project for simple blogging using Django.
It was made using Python 3.6 + Django and database is SQLite. Bootstrap was used for styling.
There is a login and registration functionality included.
User has his own blog page, where he can add new blog posts.
Non-authenticated users can see all blog posts, but cannot add new posts or comment.
App is covered with tests.
[Optional] Install virtual environment:
$ python -m virtualenv env
[Optional] Activate virtual environment:
On macOS and Linux:
$ source env/bin/activate
Install dependencies:
$ pip install -r requirements.txt
You can run the application from the command line with manage.py. Go to the root folder of the application.
Run migrations:
$ python manage.py migrate
Initialize data:
$ python manage.py loaddata users posts comments
Run server on port 8000:
$ python manage.py runserver 8000
It is possible to run all of the above with helper script:
$ chmod +x scripts/run.sh
$ scripts/run.sh
Go to the web browser and visit http://localhost:8000/home
Admin username: admin
Admin password: adminpassword
User username: abcd
User password: abcdpassword
It is possible to add additional admin user who can login to the admin site. Run the following command:
$ python manage.py createsuperuser
Enter your desired username and press enter.
Username: admin_username
You will then be prompted for your desired email address:
Email address: [email protected]
The final step is to enter your password. You will be asked to enter your password twice, the second time as a confirmation of the first.
Password: **********
Password (again): *********
Superuser created successfully.
Go to the web browser and visit http://localhost:8000/admin
Activate virtual environment:
On macOS and Linux:
$ source env/bin/activate
On Windows:
$ .\env\Scripts\activate
Running tests:
$ python manage.py test blog