-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRequirements.txt
130 lines (111 loc) · 3.1 KB
/
Requirements.txt
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
1. install venv
2. python -m venv venv-name
3. venv-name\Scripts\activate
4. pip install django
## Create a project
1. django-admin startproject project-name
2. cd project-name
3. python manage.py runserver
4. python manage.py startapp app-name
5. add app-name to settings.py in INSTALLED_APPS
6. python manage.py migrate
7. python manage.py createsuperuser
8. python manage.py runserver
9. python manage.py makemigrations
10. python manage.py migrate
# Database model interaction
# INSERT INTO DB
a. python manage.py shell
b. from model_prac.models import Menu
c. Menu.objects.all()
# Entry in DB
d. m = Menu.objects.create(name = 'Pasta', cusine = 'italian', price = 100)
# Objects Created
e. Menu.objects.all()
# UPDATE DB ITEMS
>>> from model_prac.models import Menu
>>> Menu.objects.all()
<QuerySet [<Menu: Pasta italian>, <Menu: taco Mexico>, <Menu: Pasta italian>]>
>>>
>>>
>>>
>>> item = Menu.objects.get(pk=3)
>>> item.name = 'Salad'
>>> item.cusine = 'Chinese'
>>> item.price = 12
>>> item.save()
>>> Menu.objects.all()
<QuerySet [<Menu: Pasta italian>, <Menu: taco Mexico>, <Menu: Salad Chinese>]>
>>>
# Working with models
python manage.py makemigrations
python manage.py migrate
# show sql querires
python manage.py sqlmigrate myapp 0001_initial
# All commands
makemigrations
migrate
sqlmigrate
showmigrations
# forms
from.Form
form.ModelFrom
# admin interface
python manage.py createsuperuser
# user creation
>>> from django.contrib.auth.models import User
>>> User
<class 'django.contrib.auth.models.User'>
>>> User.objects.all()
<QuerySet [<User: fahad>]>
>>> user = User.objects.create_user('testUSer', '[email protected]', 'pass123')
>>> user
<User: testUSer>
>>> User.objects.all()
<QuerySet [<User: fahad>, <User: testUSer>]>
>>> user.is_staff = True
>>> user.save()
# super user
python manage.py createsuperuser --username=admin [email protected]
# User Permission
from django.contrib.auth.models import User
>>> user = User.objects.create_user('mario', '[email protected]', 'pass123')
>>> user_name = User.objects.get(username='mario')
>>> user_name
<User: mario>
>>> user_name.has_perm('myapp.Product')
False
>>> user_name_2 = User.objects.get(username='fahad')
>>> user_name_2.has_perm('myapp.Product')
True
>>>
# MySql
pip3 install mysqlclient
# tests
python manage.py tests
pip3 install pipenv
pipenv shell
pipenv install
pip3 freeze > requirements.txt
# API MOCK
https://mockapi.io/
http://www.mockaroo.com/
# Request MOCK
https://httpbin.org/#/
# using pipenv
cd folder
pipenv install django
pipenv shell (start virtual environemt)
django-admin startproject ProjectName .
python manage.py startapp AppName
pipenv install djangorestframework
or
pip3 install djangorestframework
# configure the DRF in Installed Apps form setting
rest_framework
# debug-tool-var
pipenv install django-debug-toolbar
# add to Installed application: debug_toolbar : urls: path('__debug__/',include('debug_toolbar.urls'))
# and include middle ware
pipenv install bleach
python -m pip install django-filter