https://github.com/pragativerma18/weather-app-django
This repository implements a weather app that uses Open Weather API and Django as a backend framework and deployment using heroku.
https://github.com/pragativerma18/weather-app-django
Last synced: 3 months ago
JSON representation
This repository implements a weather app that uses Open Weather API and Django as a backend framework and deployment using heroku.
- Host: GitHub
- URL: https://github.com/pragativerma18/weather-app-django
- Owner: PragatiVerma18
- Created: 2019-08-17T07:46:45.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T06:02:10.000Z (almost 3 years ago)
- Last Synced: 2025-07-08T20:45:03.871Z (3 months ago)
- Language: Python
- Homepage: https://weather-app-django.herokuapp.com/
- Size: 36.1 KB
- Stars: 15
- Watchers: 2
- Forks: 14
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Weather-App-Django
This repository implements a weather app that uses Open Weather API and Django as a backend framework and deployment using heroku.Important Links
## Summary Workflow
The following is a basic workflow that you can use as a quick reference for developing a Django Project.
### Setup
1. Within a new directory, create and activate a virtualenv.
2. Install Django.
3. Create your project:
django-admin.py startproject
4. Create a new app:
python manage.py startapp
5. Add your app to the INSTALLED_APPS tuple.
### Add Basic URLs and Views
1. Map your Project’s urls.py file to the new app.
2. In your App directory, create a urls.py file to define your App’s URLs.
3. Add views, associated with the URLs, in your App’s views.py; make sure they return a HttpResponse object. Depending on the situation, you may also need to query the model (database) to get the required data back requested by the end user.
### Templates and Static Files
1. Create a templates and static directory within your project root.
2. Update settings.py to include the paths to your templates.
3. Add a template (HTML file) to the templates directory. Within that file, you can include the static file with -
{% load static %}and
{% static "filename" %}. Also, you may need to pass in data requested by the user.
4. Update the views.py file as necessary.
### Models and Databases
1. Update the database engine to settings.py (if necessary, as it defaults to SQLite).
2. Create and apply a new migration.
3. Create a super user.
4. Add an admin.py file in each App that you want access to in the Admin.
5. Create your models for each App.
6. Create and apply a new migration. (Do this whenever you make any change to a model).
### Forms
1. Create a forms.py file at the App to define form-related classes; define your ModelForm classes here.
2. Add or update a view for handling the form logic - e.g., displaying the form, saving the form data, alerting the user about validation errors, etc.
3. Add or update a template to display the form.
4. Add a urlpattern in the App’s urls.py file for the new view.
### User Registration
1. Create a UserForm
2. Add a view for creating a new user.
3. Add a template to display the form.
4. Add a urlpattern for the new view.
### User Login
1. Add a view for handling user credentials.
2. Create a template to display a login form.
3. Add a urlpattern for the new view.
### Setup the template structure
1. Find the common parts of each page (i.e., header, sidebar, footer).
2. Add these parts to a base template
3. Create specific. templates that inherent from the base template.
### Heroku Hosting
- Copy the project seperately
- Go to 'Getting Started on Heroku with Python'
- Create an Heroku account
- install pipenv
- Install git ( check git --version)
- Install Heroku CLI
- Login heroku
- Create a virtual enviroment
- Run manage.py not gonna run - pip freeze nothing installing
- Check which version django,requests you have and install it
- Run manage.py and then stop it
- Go to django heroku
- Create a Procfile and
- Install django-heroku
- Add stuff to settings.py file
- Install guincorn
- pip freeze > requirements.txt
- heroku create (to create an app on heroku)
- git status git commands (git push heroku master)
- Open up the website
- Admin panel not working. heroku run bash. Migrations