django-ex/README.md
2015-06-01 12:44:15 +02:00

77 lines
2.5 KiB
Markdown

# Openshift quickstart: Django
This is a [Django](http://www.djangoproject.com) project that you can use as the starting point to develop your own and deploy it on an [OpenShift](https://github.com/openshift/origin) cluster.
It assumes you have access to an existing OpenShift installation.
## What has been done for you
This is a minimal Django 1.8 project. It was created with these steps:
1. Create a virtualenv
2. Manually install Django and other dependencies
3. `pip freeze > requirements.txt`
4. `django-admin startproject project .`
3. Manually update `project/settings.py` to configure `SECRET_KEY`, `DATABASE` and `STATIC_ROOT` entries.
4. `./manage.py startapp welcome`, to create the welcome page's app
## Local development
To run this project in your development machine, follow these steps:
1. (optional) Create and activate a [virtualenv](https://virtualenv.pypa.io/) (you may want to use [virtualenvwrapper](http://virtualenvwrapper.readthedocs.org/)).
2. Fork this repo and clone your fork:
`git clone https://github.com/openshift/django-ex.git`
3. Install dependencies:
`pip install -r requirements.txt`
4. Create a development database:
`./manage.py migrate`
4. If everything is alright, you should be able to start the Django development server:
`./manage.py runserver`
5. Open your browser and go to http://127.0.0.1:8000, you will be greeted with a welcome page.
## Special files in this repository
Apart from the regular files created by Django (`project/*`, `welcome/*`, `manage.py`), this repository contains:
```
.sti/
└── bin/ - scripts used by source-to-image
├── assemble - executed to produce a Docker image with your code and dependencies during build
└── run - executed to start your app during deployment
openshift/ - application templates for OpenShift
scripts/ - helper scripts to automate some tasks
gunicorn_conf.py - configuration for the gunicorn HTTP server
requirements.txt - list of dependencies
```
## Deploying to OpenShift
The file `application-template.json` contains an OpenShift application template that you can add you your OpenShift project with:
* `osc create -f application-template.json`
Now you can browse to your OpenShift web console and create a new app from the 'django-quickstart' template.
After adjusting your preferences (or accepting the defaults), your application will be built and deployed.
You will probably want to set the `GIT_REPOSITORY` parameter to point to your fork.
## Data persistence
[TODO]