You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.7 KiB
3.7 KiB
Django Full CRUD App
Description
This is a single model full CRUD full app for contacts using Python and Django, including Django's built in templating for the views.
Contacts Properties:
| Property | Type | Default |
|---|---|---|
| id | integer | assigned by db |
| name | string | n/a |
| age | integer | n/a |
Contacts URLS:
| Endpoint | View/Action |
|---|---|
/ |
Index |
/contacts/:id |
Show |
/contacts/new |
Create |
/contacts/:id/edit |
Edit |
/contacts/id/delete |
Delete (action only, no view) |
System Requirements
- Python 3
- pipenv
Installation
If you don't have either of the above, please install them.
Python3 Installation
Python Installation
- Check what python version you have on your computer by running:
python -V - If you're not on a version of Python that is 3 or greater, install python 3 with homebrew:
brew install python3- Note: in order to use this installed python3, you will have to use
python3whenever running a python command
pipenv Installation
pipenv Installation
To build your app, we're going to be building a virtual environment. In order to manage our dependencies and our virtual environment, we're going to use pipenv.
- Check if you have pipenv by running:
pipenv --version - If you do not have it, install it with homebrew:
brew install pipenv
Get Set Up Locally
On your Browser
- Fork this repository to your account
In your Terminal
- Clone your fork of the repo onto your computer anywhere that is not a git repo
cdinto the repo- Touch a
.envinto the root of your project and add a SECRET_KEY value. See the .env.sample file for an example - Install all the required packages by running:
pipenv install - Activate the virtual environment by running:
pipenv shell- NOTE: To exit the shell gracefully whenever you're done working, use
exit
- NOTE: To exit the shell gracefully whenever you're done working, use
- Create the
contactspsql database and user by running the following while in the pipenv shell:psql -U postgres -f settings.sql- You can find the database name and username/password inside the settings.sql file
- Apply the migrations by running the following while in the pipenv shell:
python3 manage.py migrate - Make a superuser for your app, this will allow you to work directly with your database on the browser without having to use Postman
- In the pipenv shell, run
python3 manage.py createsuperuserand follow the instructions
- In the pipenv shell, run
- Start the Django server by running the following inside the pipenv shell:
python3 manage.py runserver
On your Browser
-
Go to
localhost:8000/. You should see a very plain contacts index page -
Go to
localhost:8000/adminand log in using the username/password you created when making the superuser -
You should now be able to add / delete / edit / read contacts directly from your browser!
Making Changes
Updating / Creating Models
- If you make any changes to the
contacts/models.pyfile, you will need to make and run a migration to apply the changes. You can do so by using the following commands while inside the pipenv shell- Make the migration:
python3 manage.py makemigrations - Apply the migration:
python3 manage.py migrate
- Make the migration:

