-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdjango-simple.py
85 lines (74 loc) · 2.13 KB
/
django-simple.py
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
import sys
import os
class SysArgs(object):
def __init__(self,args_list):
self.args_list = args_list
self.args_len = len(self.args_list)
self.path = os.getcwd()
def check_args(self):
if self.args_len > 3 or self.args_len == 1:
print ("Invalid Arguments")
print ("Use -h for syntax")
return 0
if self.args_len == 2:
print ("Python [Project Name] [App Name]")
return 0
def print_all(self):
print (self.args_list)
print (self.args_len)
def markers(self):
print ("***************")
def EditFile(self,filename):
with open(filename) as Edit:
content = Edit.read()
return content
def makefile(self,filename):
os.system("touch "+filename)
def main():
sysargs = SysArgs(sys.argv)
print ("\n\n")
sysargs.markers()
if sysargs.check_args() == 0:
sysargs.markers()
print ("\n")
return 0
else:
print ("Cool\n")
os.system("django-admin startproject "+str(sysargs.args_list[1]))
print ("Project created...\n")
os.chdir(sysargs.path+"/"+sysargs.args_list[1])
os.system("python3 manage.py startapp "+str(sysargs.args_list[2]))
print ("App Created")
os.chdir(sysargs.path+"/"+sysargs.args_list[1]+"/"+sysargs.args_list[1])
print ("Adding Home IP to settings.py")
print ("Editing Project's Urls.")
os.remove('urls.py')
sysargs.makefile('urls.py')
f = open ('urls.py','w')
f.write(
"from django.contrib import admin\n\
from django.urls import path,include\n\
urlpatterns = [\n\
path('admin/', admin.site.urls),"+"path('"+sysargs.args_list[2]+"/',include('"+sysargs.args_list[2]+".urls')),]")
f.close()
os.chdir(sysargs.path+"/"+sysargs.args_list[1]+"/"+sysargs.args_list[2])
sysargs.makefile('urls.py')
f = open ('urls.py','w')
f.write(
"from django.conf.urls import url\n\
from . import views\n\
\
urlpatterns = [url(r'^$', views.index, name='index'),\
]")
f.close()
f = open ('views.py','w')
f.write('from django.http import HttpResponse\n\
def index(request):\n\
return HttpReponse("Okay!")')
f.close()
os.chdir(sysargs.path+"/"+sysargs.args_list[1])
os.system("python3 manage.py migrate")
print ("Migration done!")
if __name__ is main():
main()
#sysargs.print_all()