django-ex/welcome/templates/welcome/index.html

323 lines
18 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Welcome to OpenShift</title>
<style>
/*!
* Bootstrap v3.0.0
*
* Copyright 2013 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
*/
.logo {
background-size: cover;
height: 46px;
width: 180px;
margin-top: 6px;
background-image: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MTYuNDUgMTA3LjExIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2EzMDAwMDt9LmNscy0ye2ZpbGw6I2MwMDt9LmNscy0ze2ZpbGw6IzgyMDAwMDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPkxvZ290eXBlX1JIX09wZW5TaGlmdF93TG9nb19SR0JfQmxhY2s8L3RpdGxlPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTY0LjgyLDc5LjNMNDYuMSw4Ni4xMkE1NC40MSw1NC40MSwwLDAsMCw0Ny41OCw5NWwxNy43OS02LjQ4YTM0Ljg5LDM0Ljg5LDAsMCwxLS41NS05LjIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzAuOTUgLTMxLjI3KSIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTE0Ny41OSw1OC42QTUzLjQ4LDUzLjQ4LDAsMCwwLDE0Myw1MC44NGwtMTguNzIsNi44MmEzNC44MSwzNC44MSwwLDAsMSw1LjUsNy40MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zMC45NSAtMzEuMjcpIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMTA2LjM5LDUzLjI5QTM0LjU3LDM0LjU3LDAsMCwxLDExNi41LDYwLjVsMTguNzMtNi44MUE1My41Miw1My41MiwwLDAsMCwzOC4zLDg5TDU3LDgyLjE0YTM0LjcsMzQuNywwLDAsMSw0OS4zNi0yOC44NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMwLjk1IC0zMS4yNykiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik00OC43NSw5NC41N0wzMSwxMDEuMDVhNTQuMjIsNTQuMjIsMCwwLDAsOC4zNiwxOC4xM0w1OCwxMTIuMzlhMzUsMzUsMCwwLDEtOS4yNi0xNy44MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMwLjk1IC0zMS4yNykiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0xMjYuMzYsODcuNTFhMzQuMjQsMzQuMjQsMCwwLDEtMy4xNCwxMkEzNC44MiwzNC44MiwwLDAsMSw3NywxMTYuMzZhMzQuNDYsMzQuNDYsMCwwLDEtMTAuMTQtNy4yTDQ4LjE1LDExNkE1My4wNiw1My4wNiwwLDAsMCw2OSwxMzMuMzdhNTMuNjMsNTMuNjMsMCwwLDAsNzEuMTgtMjUuOTFBNTMsNTMsMCwwLDAsMTQ1LDgwLjcxWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMwLjk1IC0zMS4yNykiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0xMzEsNjQuNjVsLTE3Ljc5LDYuNDhhMzQuOTMsMzQuOTMsMCwwLDEsNC4zNiwxOS41OWwxOC42OS02Ljc5QTU0LDU0LDAsMCwwLDEzMSw2NC42NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMwLjk1IC0zMS4yNykiLz48cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik02NC43NSw4My4wN2EzNC4xOCwzNC4xOCwwLDAsMSwuMDctMy43Nkw0Ni4xLDg2LjEyYzAuMDksMS4yLjI1LDIuMzksMC40MywzLjU4WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMwLjk1IC0zMS4yNykiLz48cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik0xNDQuODcsNTMuNjdjLTAuNTktMS0xLjItMS45LTEuODUtMi44MkwxMjQuMyw1Ny42NmEzMS41NSwzMS41NSwwLDAsMSwyLjMsMi42NVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zMC45NSAtMzEuMjcpIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNDguMTUsMTE2YTUzLjI5LDUzLjI5LDAsMCwwLDQuNzYsNS43OGwyMC4zNC03LjQyYTM0LjQxLDM0LjQxLDAsMCwxLTYuNDItNS4xN1pNMTQ1LDgwLjcxbC0xOC42OCw2Ljc5YTM0LjI1LDM0LjI1LDAsMCwxLTEuNTgsOGwyMC4zNC03LjQyYTUzLDUzLDAsMCwwLS4wNy03LjQyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzAuOTUgLTMxLjI3KSIvPjxwYXRoIGQ9Ik0xODIuMzcsNzQuMTlsLTMuOTQtOC4xM2gtMi42OXY4LjEzSDE2OS4yVjUwLjA5SDE4MGExNiwxNiwwLDAsMSwzLjg0LjQzLDguMTcsOC4xNywwLDAsMSwzLDEuMzYsNi4wOCw2LjA4LDAsMCwxLDEuOTEsMi40Myw4Ljg2LDguODYsMCwwLDEsLjY3LDMuNjMsNy43Myw3LjczLDAsMCwxLTEuMTcsNC40NEE3LjQyLDcuNDIsMCwwLDEsMTg1LDY1bDQuODMsOS4yaC03LjQ5Wm0tMC4zMS0xNy45NGEzLDMsMCwwLDAtMi4yNy0uNzJoLTRWNjAuOGgzLjk1YTMuMjcsMy4yNywwLDAsMCwyLjM1LS42OSwyLjY5LDIuNjksMCwwLDAsLjY5LTJBMi42MiwyLjYyLDAsMCwwLDE4Mi4wNiw1Ni4yNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zMC45NSAtMzEuMjcpIi8+PHBhdGggZD0iTTE5NC44OSw3NC4xOVY1MC4wOWgxOC40NlY1NS43SDIwMS41djMuMjRoNy4xM3Y1LjUxSDIwMS41djQuMTNoMTIuMDl2NS42MWgtMTguN1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zMC45NSAtMzEuMjcpIi8+PHBhdGggZD0iTTIzOC45MSw2Ny43NGE4LjY5LDguNjksMCwwLDEtMi40OCwzLjc1LDEwLDEwLDAsMCwxLTQuMDgsMi4wNywyMi4yNywyMi4yNywwLDAsMS01LjYzLjY0SDIxOC45VjUwLjA5aDguNDRhMjAuODksMjAuODksMCwwLDEsNS4xMy41OSw5LjM1LDkuMzUsMCwwLDEsMy45MSwyLDkuMTEsOS4xMSwwLDAsMSwyLjQ4LDMuNjcsMTUuODgsMTUuODgsMCwwLDEsLjg4LDUuNjhBMTcuMjYsMTcuMjYsMCwwLDEsMjM4LjkxLDY3Ljc0Wm0tNi4zMi04LjQ5YTQuNjIsNC42MiwwLDAsMC0uOTUtMiwzLjg1LDMuODUsMCwwLDAtMS43Mi0xLjEyLDguMjIsOC4yMiwwLDAsMC0yLjYyLS4zNmgtMS42NVY2OC40OGgxLjQ1YTkuNCw5LjQsMCwwLDAsMi42NS0uMzMsNCw0LDAsMCwwLDEuODEtMS4wNyw0LjMyLDQuMzIsMCwwLDAsMS0yLDEyLjUsMTIuNSwwLDAsMCwuMzEtM0ExMi4yMywxMi4yMywwLDAsMCwyMzIuNTksNTkuMjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzAuOTUgLTMxLjI3KSIvPjxwYXRoIGQ9Ik0yNzEuNTIsNzQuMTlWNjQuNjlIMjY0djkuNTFIMjU3LjJWNTAuMDlIMjY0djguNzhoNy41MVY1MC4wOWg2LjgyVjc0LjE5aC02LjgyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMwLjk1IC0zMS4yNykiLz48cGF0aCBkPSJNMjk5LjgzLDc0LjE5TDI5OC41Myw3MGgtNy4yM0wyOTAsNzQuMTloLTcuMTZsOC43NS0yNC4xMWg2Ljc1bDguNzUsMjQuMTFoLTcuMjNabS0zLjM3LTExLjEycS0wLjMxLTEuMTctLjU1LTJsLTAuNDMtMS41NXEtMC4xOS0uNjktMC4zMy0xLjI2VDI5NC45MSw1N3EtMC4xLjYyLS4yNCwxLjIxdC0wLjMzLDEuMjdsLTAuNDMsMS41NS0wLjU1LDItMC40NSwxLjU4aDRaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzAuOTUgLTMxLjI3KSIvPjxwYXRoIGQ9Ik0zMjAuNzEsNTUuOTFWNzQuMTlIMzE0VjU1LjkxaC02Ljc1VjUwLjA5aDIwLjE4djUuODJoLTYuNzVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzAuOTUgLTMxLjI3KSIvPjxwYXRoIGQ9Ik0zMzYuNDEsNTQuMjZhMywzLDAsMCwxLTEuNjQsMS42NCwzLjMyLDMuMzIsMCwwLDEtMi40NiwwLDMsMywwLDAsMS0xLjY0LTEuNjQsMy4zMywzLjMzLDAsMCwxLDAtMi40NiwzLDMsMCwwLDEsMS42NC0xLjY0LDMuMzIsMy4zMiwwLDAsMSwyLjQ2LDAsMywzLDAsMCwxLDEuNjQsMS42NEEzLjMxLDMuMzEsMCwwLDEsMzM2LjQxLDU0LjI2Wk0zMzUuOTUsNTJhMi41MSwyLjUxLDAsMCwwLTEuMzgtMS4zOCwyLjc5LDIuNzksMCwwLDAtMi4wNiwwQTIuNTIsMi41MiwwLDAsMCwzMzEuMTMsNTJhMi43OCwyLjc4LDAsMCwwLDAsMi4wNiwyLjUzLDIuNTMsMCwwLDAsMS4zOCwxLjM4LDIuNzksMi43OSwwLDAsMCwyLjA2LDAsMi41MiwyLjUyLDAsMCwwLDEuMzgtMS4zOEEyLjc4LDIuNzgsMCwwLDAsMzM1Ljk1LDUyWm0tMS4yLDFhMSwxLDAsMCwxLS41My4zNGwwLjcsMS4zN2gtMC42OGwtMC42Ni0xLjMxaC0wLjY1djEuMzFoLTAuNThWNTEuMjdoMS40OGExLjQ4LDEuNDgsMCwwLDEsLjQyLjA2LDEsMSwwLDAsMSwuMzUuMTksMC44OSwwLjg5LDAsMCwxLC4yNC4zMiwxLjA4LDEuMDgsMCwwLDEsLjA5LjQ2QTEsMSwwLDAsMSwzMzQuNzUsNTIuOTVabS0wLjUzLTFhMC42MSwwLjYxLDAsMCwwLS4zOS0wLjEyaC0wLjl2MWgwLjlhMC42MywwLjYzLDAsMCwwLC4zOS0wLjEyQTAuNSwwLjUsMCwwLDAsMzM0LjIyLDUyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMwLjk1IC0zMS4yNykiLz48cGF0aCBkPSJNMTk2LjU4LDEwNi42M2ExOCwxOCwwLDAsMS0zLjA3LDUuOTIsMTQuMjIsMTQuMjIsMCwwLDEtNC43OCwzLjg3LDE0LjMsMTQuMywwLDAsMS0xMi4yNywwLDEzLjc1LDEzLjc1LDAsMCwxLTQuNzMtMy44NSwxOCwxOCwwLDAsMS0zLTUuODksMjUuMTcsMjUuMTcsMCwwLDEtMS4wNi03LjQ5LDI0Ljg1LDI0Ljg1LDAsMCwxLDEuMDgtNy41MiwxOC4yOSwxOC4yOSwwLDAsMSwzLTUuOTIsMTQsMTQsMCwwLDEsNC43NS0zLjg3LDE0LjMxLDE0LjMxLDAsMCwxLDEyLjI3LDAsMTMuNzgsMTMuNzgsMCwwLDEsNC43MywzLjg1LDE4LjM3LDE4LjM3LDAsMCwxLDMsNS44OSwyNC42MiwyNC42MiwwLDAsMSwxLjA4LDcuNDlBMjQuODcsMjQuODcsMCwwLDEsMTk2LjU4LDEwNi42M1pNMTkyLjc4LDkzYTE1LjM0LDE1LjM0LDAsMCwwLTIuMzUtNC43NSwxMC41MywxMC41MywwLDAsMC0zLjUxLTMsOS4zLDkuMywwLDAsMC00LjM5LTEuMDYsOSw5LDAsMCwwLTQuMzEsMS4wNiwxMC4zNCwxMC4zNCwwLDAsMC0zLjQ0LDMsMTQuOTMsMTQuOTMsMCwwLDAtMi4yNyw0LjcsMjEuNSwyMS41LDAsMCwwLS44Myw2LjE3LDIwLjg5LDIwLjg5LDAsMCwwLC44NSw2LjE3LDE1LjY5LDE1LjY5LDAsMCwwLDIuMzMsNC43NSwxMC4yNiwxMC4yNiwwLDAsMCwzLjQ5LDMsOS4yOSw5LjI5LDAsMCwwLDQuMzksMS4wNiw5LjE4LDkuMTgsMCwwLDAsNC4zNC0xLjA2LDEwLjI0LDEwLjI0LDAsMCwwLDMuNDYtMywxNSwxNSwwLDAsMCwyLjI3LTQuNywyMS41NSwyMS41NSwwLDAsMCwuODMtNi4xN0EyMC45LDIwLjksMCwwLDAsMTkyLjc4LDkzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMwLjk1IC0zMS4yNykiLz48cGF0aCBkPSJNMjMxLjMyLDk2LjY2YTkuODMsOS44MywwLDAsMS0yLjUxLDMuNTEsMTAuNTYsMTAuNTYsMCwwLDEtMy44NywyLjE0LDE2LjI2LDE2LjI2LDAsMCwxLTUsLjcySDIxMS4ydjE0LjIxaC00VjgxLjA4aDEzLjU0YTE1LjQ2LDE1LjQ2LDAsMCwxLDQuNTcuNjUsMTAsMTAsMCwwLDEsMy42NCwyLDkuMjQsOS4yNCwwLDAsMSwyLjQzLDMuMzhBMTMuMjYsMTMuMjYsMCwwLDEsMjMxLjMyLDk2LjY2Wm0tNS4wOS0xMGE3Ljg5LDcuODksMCwwLDAtNS42OC0xLjg5SDIxMS4yVjk5LjM3SDIyMHE4LjE2LDAsOC4xNi03LjM0QTcuMTQsNy4xNCwwLDAsMCwyMjYuMjMsODYuNjRaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzAuOTUgLTMxLjI3KSIvPjxwYXRoIGQ9Ik0yNDAuNjUsMTE3LjI1VjgxLjA4SDI2Mi41djMuNjdIMjQ0LjY4Vjk2LjEySDI1NXYzLjY3SDI0NC42OHYxMy43OWgxOC42djMuNjdIMjQwLjY1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMwLjk1IC0zMS4yNykiLz48cGF0aCBkPSJNMjk0Ljc5LDExNy4yNUwyNzksOTIuNXEtMC4zMS0uNDYtMC42Ny0xLjExbC0wLjcyLTEuMjlxLTAuMzYtLjY1LTAuNy0xLjIxYTguNTEsOC41MSwwLDAsMS0uNDktMC45M3YyOS4yOWgtMy45M1Y4MS4wOGgzLjkzbDE1LjY1LDI1LjIxcTAuMzEsMC40Ny42NywxLjExbDAuNzIsMS4yOXEwLjM2LDAuNjUuNywxLjIxYTguNDUsOC40NSwwLDAsMSwuNDkuOTNWODEuMDhoMy45M3YzNi4xNmgtMy44MloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zMC45NSAtMzEuMjcpIi8+PHBhdGggZD0iTTMzMSwxMTEuNzJhOC44LDguOCwwLDAsMS0yLjM1LDMuMiwxMS40NCwxMS40NCwwLDAsMS0zLjc3LDIuMTIsMTUuMzMsMTUuMzMsMCwwLDEtNS4wNi43OCwxNi4zNSwxNi4zNSwwLDAsMS02Ljg1LTEuNDIsMTcuODEsMTcuODEsMCwwLDEtNS4yOS0zLjU5bDIuNjktM2ExOC4zNCwxOC4zNCwwLDAsMCw0LjQ0LDMuMTUsMTEuMzgsMTEuMzgsMCwwLDAsNS4xNywxLjE5LDksOSwwLDAsMCw1LjcxLTEuNjUsNS40Nyw1LjQ3LDAsMCwwLDIuMDktNC41NSw2LjA3LDYuMDcsMCwwLDAtLjQxLTIuMjcsNS4wNSw1LjA1LDAsMCwwLTEuNDItMS45MSwxMy40MiwxMy40MiwwLDAsMC0yLjY2LTEuNzMsMzMuODQsMzMuODQsMCwwLDAtNC4xMy0xLjczLDM2LDM2LDAsMCwxLTQuOTMtMi4wOSwxMy40LDEzLjQsMCwwLDEtMy4yLTIuMjcsNy4zNSw3LjM1LDAsMCwxLTEuNzYtMi43MSwxMC4xNSwxMC4xNSwwLDAsMS0uNTQtMy40Niw4Ljc3LDguNzcsMCwwLDEsLjgzLTMuODcsOC42MSw4LjYxLDAsMCwxLDIuMy0yLjkyLDEwLDEwLDAsMCwxLDMuNTctMS44MywxNi4yMiwxNi4yMiwwLDAsMSw0LjYyLS42MiwxNi40OCwxNi40OCwwLDAsMSw2LjE3LDEsMTkuNDksMTkuNDksMCwwLDEsNC44MywyLjg0bC0yLjU4LDMuMTVhMTYsMTYsMCwwLDAtNC0yLjUxLDEyLDEyLDAsMCwwLTQuNzMtLjg1LDEwLjM2LDEwLjM2LDAsMCwwLTMuMi40NCw2LjQ1LDYuNDUsMCwwLDAtMi4yLDEuMTYsNC4zMSw0LjMxLDAsMCwwLTEuMjQsMS42OCw1LjM3LDUuMzcsMCwwLDAtLjM5LDIsNi4yNSw2LjI1LDAsMCwwLC4zMSwyLDQuMzQsNC4zNCwwLDAsMCwxLjI0LDEuNzZBMTEuMTksMTEuMTksMCwwLDAsMzE2LjkzLDk1YTQzLjQsNDMuNCwwLDAsMCw0LjQyLDEuODEsMzgsMzgsMCwwLDEsNSwyLjE3LDEyLjU1LDEyLjU1LDAsMCwxLDMuMjMsMi4zOCw3LjY4LDcuNjgsMCwwLDEsMS43MywyLjg0LDExLjI5LDExLjI5LDAsMCwxLC41MiwzLjU3QTkuOTQsOS45NCwwLDAsMSwzMzEsMTExLjcyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMwLjk1IC0zMS4yNykiLz48cGF0aCBkPSJNMzYzLjc2LDExNy4yNXYtMTdoLTE4djE3aC00VjgxLjA4aDRWOTYuNTNoMThWODEuMDhoNHYzNi4xNmgtNFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zMC45NSAtMzEuMjcpIi8+PHBhdGggZD0iTTM3OS4xLDExNy4yNVY4MS4wOGg0djM2LjE2aC00WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMwLjk1IC0zMS4yNykiLz48cGF0aCBkPSJNMzk4LjQ4LDg0Ljc1djEyaDkuOTJ2My42N2gtOS45MnYxNi44NGgtNFY4MS4wOGgyMS4yM3YzLjY3aC0xNy4yWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMwLjk1IC0zMS4yNykiLz48cGF0aCBkPSJNNDM2Ljc2LDg0Ljc1djMyLjVoLTRWODQuNzVINDIyLjA5VjgxLjA4SDQ0Ny40djMuNjdINDM2Ljc2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMwLjk1IC0zMS4yNykiLz48L3N2Zz4=);
}
.logo a {
display: block;
width: 100%;
height: 100%;
}
*, *:before, *:after {
-moz-box-sizing: border-box;
box-sizing: border-box;
}
aside,
footer,
header,
hgroup,
section{
display: block;
}
body {
color: #404040;
font-family: "Helvetica Neue",Helvetica,"Liberation Sans",Arial,sans-serif;
font-size: 14px;
line-height: 1.4;
}
html {
font-family: sans-serif;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
ul {
margin-top: 0;
}
.container {
margin-right: auto;
margin-left: auto;
padding-left: 15px;
padding-right: 15px;
}
.container:before,
.container:after {
content: " ";
/* 1 */
display: table;
/* 2 */
}
.container:after {
clear: both;
}
.row {
margin-left: -15px;
margin-right: -15px;
}
.row:before,
.row:after {
content: " ";
/* 1 */
display: table;
/* 2 */
}
.row:after {
clear: both;
}
.col-sm-6, .col-md-6, .col-xs-12 {
position: relative;
min-height: 1px;
padding-left: 15px;
padding-right: 15px;
}
.col-xs-12 {
width: 100%;
}
@media (min-width: 768px) {
.container {
width: 750px;
}
.col-sm-6 {
float: left;
}
.col-sm-6 {
width: 50%;
}
}
@media (min-width: 992px) {
.container {
width: 970px;
}
.col-md-6 {
float: left;
}
.col-md-6 {
width: 50%;
}
}
@media (min-width: 1200px) {
.container {
width: 1170px;
}
}
a {
color: #069;
text-decoration: none;
}
a:hover {
color: #EA0011;
text-decoration: underline;
}
hgroup {
margin-top: 50px;
}
footer {
margin: 50px 0 25px;
}
h1, h2, h3 {
color: #000;
line-height: 1.38em;
margin: 1.5em 0 .3em;
}
h1 {
font-size: 25px;
font-weight: 300;
border-bottom: 1px solid #fff;
margin-bottom: .5em;
}
h1:after {
content: "";
display: block;
width: 100%;
height: 1px;
background-color: #ddd;
}
h2 {
font-size: 19px;
font-weight: 400;
}
h3 {
font-size: 15px;
font-weight: 400;
margin: 0 0 .3em;
}
p {
margin: 0 0 2em;
text-align: justify;
}
p + h2 {
margin-top: 2em;
}
html {
background: #f5f5f5;
height: 100%;
}
code {
background-color: white;
border: 1px solid #ccc;
padding: 1px 5px;
color: #888;
}
pre {
display: block;
padding: 13.333px 20px;
margin: 0 0 20px;
font-size: 13px;
line-height: 1.4;
background-color: #fff;
border-left: 2px solid rgba(120,120,120,0.35);
white-space: pre;
white-space: pre-wrap;
word-break: normal;
word-wrap: break-word;
overflow: auto;
font-family: Menlo,Monaco,"Liberation Mono",Consolas,monospace !important;
}
.warning { color: orange }
</style>
</head>
<body>
<section class='container'>
<hgroup>
<h1>Welcome to your Django application on OpenShift</h1>
</hgroup>
<div class="row">
<section class='col-xs-12 col-sm-6 col-md-6'>
<section>
<h2>How to use this example application</h2>
<p>For instructions on how to use this application with OpenShift, start by reading the <a href="http://docs.okd.io/latest/dev_guide/templates.html#using-the-quickstart-templates">Developer Guide</a>.</p>
<h2>Deploying code changes</h2>
<p>
The source code for this application is available to be forked from the <a href="https://www.github.com/sclorg/django-ex">OpenShift GitHub repository</a>.
You can configure a webhook in your repository to make OpenShift automatically start a build whenever you push your code:
</p>
<ol>
<li>From the Web Console homepage, navigate to your project</li>
<li>Click on Browse &gt; Builds</li>
<li>Click the link with your BuildConfig name</li>
<li>Click the Configuration tab</li>
<li>Click the "Copy to clipboard" icon to the right of the "GitHub webhook URL" field</li>
<li>Navigate to your repository on GitHub and click on repository settings &gt; webhooks &gt; Add webhook</li>
<li>Paste your webhook URL provided by OpenShift</li>
<li>From the "Content Type" dropdown, select "application/json"</li>
<li>Leave the defaults for the remaining fields &mdash; that's it!</li>
</ol>
<p>After you save your webhook, if you refresh your settings page you can see the status of the ping that Github sent to OpenShift to verify it can reach the server.</p>
<p>Note: adding a webhook requires your OpenShift server to be reachable from GitHub.</p>
<h3>Working in your local Git repository</h3>
<p>If you forked the application from the OpenShift GitHub example, you'll need to manually clone the repository to your local system. Copy the application's source code Git URL and then run:</p>
<pre>$ git clone &lt;git_url&gt; &lt;directory_to_create&gt;
# Within your project directory
# Commit your changes and push to OpenShift
$ git commit -a -m 'Some commit message'
$ git push</pre>
<p>After pushing changes, you'll need to manually trigger a build if you did not setup a webhook as described above.</p>
<h3>Expanding on sample app</h3>
<p>This project has just a skeleton for you to get started. It includes:</p>
<ol>
<li>Django project created with <code>python manage.py startproject project .</code></li>
<li>Appropriate database configuration</li>
<li>Sample Django app created with <code>python manage.py startapp welcome</code></li>
</ol>
<p>
Now it is time to add your own code.
Follow along the <a href="https://docs.djangoproject.com/en/1.11/intro/tutorial01/">Django tutorial</a> to learn more about Django.
</p>
<p>
If you are running Django's development server in your local host, you can see more information
about this request using the toolbar on the right.<br>
Please note that by default your Django settings have <code>DEBUG = True</code> and that is not appropriate for production use,
but very handy during development.<br>
Refer to the <a href="https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/">Deployment Checklist</a>
before taking this project into a production environment.
</p>
</section>
</section>
<section class="col-xs-12 col-sm-6 col-md-6">
<h2>Managing your application</h2>
<p>Documentation on how to manage your application from the Web Console or Command Line is available at the <a href="http://docs.okd.io/latest/dev_guide/overview.html">Developer Guide</a>.</p>
<h3>Web Console</h3>
<p>You can use the Web Console to view the state of your application components and launch new builds.</p>
<h3>Command Line</h3>
<p>With the <a href="http://docs.okd.io/latest/cli_reference/overview.html">OpenShift command line interface</a> (CLI), you can create applications and manage projects from a terminal.</p>
<h2>Development Resources</h2>
<ul>
<li><a href="http://docs.okd.io/latest/welcome/index.html">OpenShift Documentation</a></li>
<li><a href="https://github.com/openshift/origin">Openshift Origin GitHub</a></li>
<li><a href="https://github.com/openshift/source-to-image">Source To Image GitHub</a></li>
<li><a href="http://docs.okd.io/latest/using_images/s2i_images/python.html">Getting Started with Python on OpenShift</a></li>
<li><a href="http://stackoverflow.com/questions/tagged/openshift">Stack Overflow questions for OpenShift</a></li>
<li><a href="http://git-scm.com/documentation">Git documentation</a></li>
</ul>
<h2>Request information</h2>
<pre>
Server hostname: {{ hostname }}
Database server: {{ database.engine }} ({{ database.url }})
{% if database.is_sqlite %}<span class="warning">Data persistence warning: You are currently using SQLite. This is fine for development, but your data won't be persisted across application deployments.</span>{% endif %}
Page views: {{ count }}
</pre>
</section>
</div>
<footer>
<div>Built on</div>
<div class="logo"><a href="https://www.openshift.com/"></a></div>
</footer>
</section>
</body>
</html>