Test with diango
pip install django
django-admin startproject app1
python manage.py runserver
Available subcommands:
[auth]
changepassword
createsuperuser
[contenttypes]
remove_stale_contenttypes
[django]
check
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
makemigrations
migrate
sendtestemail
shell
showmigrations
sqlflush
sqlmigrate
sqlsequencereset
squashmigrations
startapp
startproject
test
testserver
[sessions]
clearsessions
[staticfiles]
collectstatic
findstatic
runserver
(diango_v1) D:\programing\py360\diango_v1\project\app1>
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named 'psycopg2'
psycopg2
psycopg2-binary
python manage.py makemigrations
python manage.py migrate
python manage.py startapp api1
https://viblo.asia/p/python-co-ban-voi-django-framework-Ljy5VxGkZra
https://minhng.info/tutorials/hoc-django-trong-1-ngay.html
python manage.py startapp book
Add app to setting
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'api1',
'book',
]
Make model
class Category(models.Model):
name = models.CharField(max_length=200)
def __str__(self):
return self.name
#Book model có field name, price, category, author_name
class Book(models.Model):
name = models.CharField(max_length=200)
price = models.IntegerField(default=0)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
author_name = models.CharField(max_length=200)
def __str__(self):
return self.name
Migrate
python manage.py makemigrations book
Lưu trong thư mục migrations
Check sql được tạo chính xác chưa
python manage.py sqlmigrate book 0001
Đẩy model vào DB
Mỗi
class
tương ứng là mộttable
, mỗiobject
là mộtrecord
Cái này gọi là ORM (Object-relational mapping)
python manage.py migrate
Tạo user
python manage.py createsuperuser
dtlong
dtlong
{% for cat in categorys %}
{{ cat.name }}
{% endfor %}
in view
def index(request):
#category_objs = Type.objects.filter(active__exact=True)
categorys = Category.objects.all()
return render(request, "cats.html", {'categorys': categorys})
/opt/lampp/htdocs/rdesk/data/User/admin/home/python/django/diango_v1/project/diango_v1/app1/app1/
- Make
python manage.py migrate
python manage.py runserver 107.173.145.184:9090
djangorestframework
https://medium.com/swlh/searching-in-django-rest-framework-45aad62e7782