- Install Devbox
- Run
devbox shell
to install your packages and run the init_hook. This will activate your virtual environment and install Django. - Initialize PostgreSQL with
devbox run initdb
. - Start the Postgres service by running
devbox services up postgresql
. You can start it in the background usingdevbox services up -b postgresql
. - In the root directory, run
devbox run create_db
to create the database and run your Django migrations - In the root directory, run
devbox run server
to start the server. You can access the Django example atlocalhost:8000
-
Install Devbox.
-
Run
devbox create --template django
to create a new Devbox project in your directory. -
Install Python and PostgreSQL with
devbox install
. This will also install the Devbox plugins for pip (which sets up your .venv directory) and PostgreSQL. -
Copy the requirements.txt and
todo_project
directory into the root folder of your project -
Start a devbox shell with
devbox shell
. This will activate your virtual environment and install your requirements using the commands below.. $VENV_DIR/bin/activate pip install -r requirements.txt
These lines are already added to your
init_hook
to automatically activate your venv.
The Django example uses a database. To set up the database, we will first create a new PostgreSQL database cluster, create the todo_db
and user, and run the Django migrations.
-
Initialize your Postgres database cluster with
devbox run initdb
. -
Start the Postgres service by running
devbox services start postgres
-
In your
devbox shell
, create the emptytodo_db
database and user with the following commands.createdb todo_db psql todo_db -c "CREATE USER todo_user WITH PASSWORD 'secretpassword';"
You can add this as a devbox script in your
devbox.json
file, so you can replicate the setup on other machines. -
Run the Django migrations to create the tables in your database.
python todo_project/manage.py makemigrations python todo_project/manage.py migrate
Your database is now ready to use. You can add these commands as a script in your devbox.json
if you want to automate them for future use. See create_db
in the projects devbox.json
for an example.
You can now start your Django server by running the following command.
python todo_project/manage.py runserver
This should start the development server.