หลังจากที่เราเรียน การติดตั้ง VirtualEnv สำหรับการแยก Python Environment และติดตั้ง Jupyter Lab กันไปแล้ว วันนี้เรามาลองปรับแต่ง หรือลงโมดูลให้ กับ Django App ของเรา ให้มีความสามารถในการติดต่อ (Shell) บน Jupyter Notebook กันได้นะครับ
Django คืออะไร?
Django เป็น Web framework สำหรับสาย Python ครับ ผมเลือกใช้เพราะมีหน้า Admin และ มี ORM (Object Relation Mapping) ให้ใช้ ทำให้เราสามารถทำอะไรได้สะดวก รวดเร็วมากขึ้นครับ แต่ในบทความนี้เรายังไม่พูดถึงนะครับ ใครสนใจไปอ่าน หรือทำตามจาก https://www.djangoproject.com ได้เลยครับ
เริ่มติดตั้งกันดีกว่า
mkvirtualenv django pip install pandas django jupyter pip install django-extensions django-pandas jupyter
หลังจากที่เรา Initial ตัว Django app ไปแล้วให้เพิ่มบรรทัดนี้ในไฟล์ settings.py ครับ
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django_extensions', ]
หลังจากนั้นรันคำสั่งข้างล่าง จะได้ Jupyter Notebook ขึ้นมา เราสามารถกด Django Shell-Plus ได้เลยครับ ซึ่งใน Application ลักษณะนี้ ผมจะใช้แค่ Jupyter Notebook ก็พอ ไม่ต้องเป็น Jupyter Lab ก็ได้ครับ
เริ่มต้นใช้งาน shell_plus
python manage.py shell_plus --notebook
เข้าถึง Django Model
หลังจากนั้น เรามาลองเข้าถึง User Model ของ django กันเลยครับ!
#!/usr/bin/env python # coding: utf-8 import os os.environ["DJANGO_ALLOW_ASYNC_UNSAFE"] = "true" from django.contrib.auth.models import User from blog.models import Post Post.objects.all() User.objects.all()
Jupyter Notebook
รันใน Notebook จะได้แบบนี้ครับ!
เห็นมั้ยครับ เพียงเท่านี้เราก็จะสามารถ ติดต่อกับ Django Model ผ่าน Notebook ได้เลย…
ซึ่งแน่นอนครับ หลังจากนี้เราจะมาพูดถึง Django Model และ Pandas + Django + Jupyter Notebook กันต่อไปนะครับ
Happy Coding!