💻 Djangolog
Djangolog is a blogging application built using the django framework in Python
Features
- User login
- Creating articles
- Editing existing articles
- Comments on articles
- Contact me form
Installation
Make sure python3 and git is installed.
- From the main working directory, run the below commands
python manage.py makemigrations python manage.py migrate
- Set the username and password in settings.py file for sending mails
- To start the server, run
python manage.py runserver
- Create a superuser to log in to django-admin
python manage.py createsuperuser
Additional instructions
Install Python :
From official website
To check version of Python :
py --version
python --version
Create a virtual environment :
py -m venv blog_app
To activate virtual-environment :
.\blog_app\Scripts\activate
To deactivate virtual-environment :
.\blog_app\Scripts\deactivate
To install a package in virtual environment :
py -m pip install package_name
To install django :
py -m pip install django
django --version
To check django version :
py -m django --version
To start a new app :
python manage.py startapp your_app_name
Then make an entry for the app in the INSTALLED_APPS section in settings.py Include URL's of your new app using include() in url.py (main app)
While activating if terminal shows, "running scripts is disabled on this system"
There are 4 policy levels to choose from. From most secure to most insecure:
-
Restricted: No Powershell scripts can be run. This is the default setting.
-
AllSigned: Scripts can be run, but all must have a digital signature. Even if you wrote the script yourself on the local computer.
-
RemoteSigned: Locally-written scripts can be run. But scripts from outside (email, IM, Internet) must be signed by a trusted publisher.
-
Unrestricted: Any script will run. Regardless of who created them or whether they are signed.
To view the current systemwide Execution Policy setting :
Get-ExecutionPolicy
To set execution policy :
Set-ExecutionPolicy remotesigned
Touch alternative in windows powershell :
$null > file_name.cpp
Configure GIT :
git config --global user.email "user_mail"
git config --global user.name "user_name"
NOTE: Make .gitignore file after initialising the GIT repository
To run the application server :
python manage.py runserver
For migrating the models to the database :
python manage.py makemigrations
python manage.py migrate
While making a POST request through a form to the server, include :
{% csrf_token %}
To checkout a particular branch:
git checkout <branch-name>
To list all the branches in the git repository:
git branch -a
To lists all the modules installed for the project:
py -m pip freeze
py -m pip list
To merge a branch into master branch:
Change to master branch
git checkout master
git merge <branch-name>
To see branch graphs in git:
git log --graph --oneline --decorate --all
To see all remotes
git remote -v
To push all branches to remote repository
git push --all <remote-origin>
To add a new remote to push changes to
git remote add new-remote-origin-name https://github.com/user_name/repo.git
If you happen to delete db.sqlite3 file, run:
python manage.py migrate
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.