djangoTest/README.md
2024-05-19 20:54:36 -04:00

3.0 KiB

djangoTest

A simple web app to test out the django framework.

Overview (how it works)

djangoTest Folder

Project configuration is stored in the djangoTest folder. This includes project wide settings as well as how various django apps should be served to users. The built in admin panel is an example of of one of these apps and is served to users who go to the 'admin/' path on the server.

testapp Folder

The testapp folder contains the main django app in this project. It is served to users who go to the root path on the server (empty '' path).

manage.py

The manage.py file is a python script that was automatically generated by django-admin startproject to help manage the newly generated project. It can be used to start a dev server or to create a new django app in the project. For a full list of things it can do run python3 manage.py help

How to run the dev server

Step 1: Installing dependencies

Install python 3 and the django module. Python 2 is incompatible and is no longer receiving security updates. You will also need git to fetch this repository. NOTE: On some inferior linux distros you have to run python with the python3 command to actually run the modern version of python.

# For debian/ubuntu based systems
sudo apt install git python3 python3-django

# For Arch Linux based systems
sudo pacman -Syu git python python-django

# For Windows sytems
winget install python3 git.git
python -m ensurepip --upgrade
pip install --user django

Step 2: Fetch the code in this repo

Simply clone this repo using the git command. This will create a folder named djangoTest in your current directory and download the code from the main branch into it.

git clone https://git.kealoha.me/lks/djangoTest.git
cd djangoTest

NOTE: If you want to download new updates to the repo after the initial clone you can use the git pull command while in the created folder however it will fail if it detects the pull will overwrite any local changes you have made.

Step 3: Initializing the development DB

Before we can run the server we need to make sure a database is setup to store everthing we need. Luckily django can do this for us using the automagically generated manage.py script.

python3 manage.py migrate

NOTE: This command also has to be run every time there is an update to the database schema to migrate the db to the new schema.

Step 3.5: Creating an admin user for the admin portal (optional)

Again the manage.py script can do this for us.

python3 manage.py createsuperuser

Step 4: Starting the dev server

Finally we can start the development server.

python3 manage.py runserver

You should then be able to connect to the server at localhost:8000 and the admin panel is at localhost:8000/admin/. The server will automagically reload if you change any of the source files so you just need to refresh the page in your browser to see your changes.