-
Notifications
You must be signed in to change notification settings - Fork 0
/
newDjango.sh
executable file
路156 lines (114 loc) 路 2.51 KB
/
newDjango.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#!/bin/sh
# Creating new app
mkdir ${1}
cd ${1}
# Creating virtual folder
chmod a+x newDjango.sh
python3.6 -m venv virtual
source virtual/bin/activate
Initializing git
git init
touch .gitignore
touch README.md
cat >> README.md << EOF
# ${1}
# Description
# Prerequisites
# Setup/Installation Reqiurements.
**{follow the below instructions for set up.}**
# Technologies Used
# Support and Contact
-Mobile number: (+254) 798731203
-Email Address: collo.kariss@gmail.com
-github-username: zecollokaris
## License
The app is licensed by MIT.
Collins Kariuki - MIT (c)2018 LICENSE
EOF
mkdir static
cd static
mkdir css
cd css
touch ${2}.css
cd ../../
cat >> .gitignore << EOF
virtual/
*.pyc
.env
migrations/
EOF
# Installing dependencies
pip install Django==2.0.7
pip install django-bootstrap4 pillow
pip install dj-database-url gunicorn psycopg2 whitenoise python-decouple
pip install wheel
django-admin startproject ${1} .
django-admin startapp ${2}
# Creating Folder
cd ${2}
# defining the app urls
touch urls.py
cat >> urls.py<< EOF
from django.conf.urls import url,include
from . import views
from django.contrib import admin
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
url(r'^$', views.index, name= 'index'),
]
EOF
mkdir templates templates/${2}/
cd templates/${2}/
# creating the templates
touch base.html index.html
# Filling the base.html file
cat >> base.html<< EOF
{%load bootstrap4 %}
{% load static %}
<html>
<head>
<meta charset="utf-8">
<title> ${1}</title>
{%block styles%}
{%bootstrap_css%}
<link rel="stylesheet" href="{%static 'css/${2}.css'%}">
{% endblock %}
</head>
<body>
{%block content%}
{% endblock %}
{% block scripts %}
<script src="//cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/ScrollMagic.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/plugins/debug.addIndicators.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> {% bootstrap_javascript %} {% endblock %}
</body>
</html>
EOF
cat >> index.html << EOF
{%extends '${2}/base.html'%}
{%block content%}
EOF
cd ../../../
# Getting requirements
pip freeze > requirements.txt
# Creating procfile
touch Procfile
# Configuring procfile
cat >> Procfile << EOF
web: gunicorn ${1}.wsgi
EOF
# creating env file
touch .env
cat>> .env << EOF
DEBUG = True
EOF
# Creating initial commit
git add .
git commit -m "Initial Commit"
# enter psql
psql
# Open code
code .
# Delete Shell Script
rm -f newDjango.sh