Python вэб фрэймворк болохоор нэн түрүүнд python суусан байх шаардлагатай. OS X, Linux ҮС -д анхнаасаа суучихсан байдаг болохоор суулгах шаардлагагүй(Гэхдээ өөр хувилбар хэрэгтэй бол суулгаж болно.) Виндөвс ҮС -д
https://www.python.org/downloads татаж суулгаад path тохируулах хэрэгтэй.
Виндөвс ҮС хэрэглэгчид
https://www.youtube.com/watch?v=OOUYcZG8bbQ зааврын дагуу тохируулаарай.
Одоо django суулгана. Linux, OSX хэрэглэгчид terminal, Виндөвс хэрэглэгчид CMD нээгээд
Код:
pip install django
командыг бичиж джанго хамгийн сүүлийн хувилбарыг татаж суулгана.
Суусан бол terminal/CMD дээр
Код:
django-admin startproject demo_project
гэж бичээд шинэ төсөл үүсгэнэ.
Үүсгэсэн project-ын хавтсанд доорхи файлууд үүснэ.:
Код:
* manage.py
* demo_project/
— __init__.py
— settings.py
— urls.py
— wsgi.py
Одоо Django server ажиллуулж үзэе. terminal дээр доорхийг бичээд ажиллуулая.
Код:
python manage.py migrate
python manage.py runserver
Төслийн хавтас дотроо орж дээрхи командыг бичих ёстой шүү. Хэрвээ зөв суулгасан, төслөө үүсгэж чадсан бол Django-ын default “it worked page” гарч ирэх ёстой.
Энд migrate командаар өгөгдлийн санг үүсгэнэ. Мөн ерөнхий table-ууд үүсгэнэ django нь default утгаараа sqlite3 -ыг өгөгдлийн сан болгон ашигладаг, дараа нь серверийг ажиллуулж байна.
5. Ингээд дараагийн алхам нь аппликейшн үүсгэх хэрэгтэй. Манай нөхцөлд блог гэж үүсгэе. /мөн л төслийн хавтас дотроо доорхи командыг бичнэ./
Код:
python manage.py startapp
blogингэснээр төслийн хавтсанд нэмж “blog” хавтас үүснэ.
Код:
* blog/
— `admin.py`
— `apps.py`
— `__init__.py`
— `models.py`
— `tests.py`
— `views.py`
6. Үүсгэсэн аппликейшныг төсөлийн апп гэж бүртгэх хэрэгтэй. demo_project/demo_project/settings.pyфайлыг нээгээд INSTALLED_APPSжагсаалтын хамгийн доор нь бичиж оруулна.
Код:
INSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘blog’, # үүсгэсэн блог аппликейшныг бүртгэх
]
7. blog/models.py дотор модель буюу өгөгдлийн санд үүсэх table бичнэ.
Код:
from django.db import models
class Blog(models.Model):
title = models.CharField(max_length=50, null=True)
body = models.TextField()
author = models.CharField(max_length=50, null=True)
def __unicode__(self):
return self.title
Үүний дараа уг моделийг өгөгдлийн санруу доорхийг бичиж бичилт хийх хэрэгтэй.
Код:
python manage.py makemigrations
python manage.py migrate
8. Django дээрхи нэг гоё зүйл нь өөрөө admin panel -тэй ирдэг. Admin panel -руу нэвтрэхийн тулд terminal дээр доорх командыг бичиж админ эрхтэй хэрэглэгч үүсгэнэ. python manage.py createsuperuser /нэвтрэх нэр, имэйл, нууц үг асууна./
9. Дахин Django server ажиллуулж үзэе. Тerminal дээр доорхийг бичээд ажиллуулая.
Код:
python manage.py runserver`
гээд интернет хөтөч дээр localhost:8000/admin хандаж өмнө үүсгэсэн нэр, нууц үгээр нэвтэрч орно.
10. Бидний үүсгэсэн блог(аппликейшн) хараахан харагдахгүй байгаа. Харагддаг болговол `blog/admin.py` дотор доорхийг бичээд хадгалаад **refresh/reload** дарна:
Код:
# demo_project/blog/admin.py
from django.contrib import admin
from models import Blog # үүсгэсэн Blog модэлийг импорт хийнэ.
admin.site.register(Blog)
11. Admin хэсэгтэй болчихсон учраас хүсвэл шинээр нийтлэл оруулж болно.
12. Харин одоо оруулсан нийтлэлээ харуулдаг болгоё. Үүний тулд `blog/views.py` файлыг нээж доорхийг бичнэ.
Код:
from django.shortcuts import render
from models import Blog
def all_blog(request):
blogs = Blog.objects.all()
return render(request, ‘index.html’, {‘blogs’: blogs})
Энд django -ын render функцийг дуудаж байна, дараа нь үүсгэсэн Blog моделийг оруулж ирнэ. all_blog нэртэй функц үүсгэнэ, `blogs` хувьсагчид бүх Blog нийтлэлийг оноож өгнө, дараа нь үүнийг index.html template руу blogs хувьсагчаар дамжуулан render хийж байна.
13. Одоо дээр дурьдагдсан index.html template -ыг хаанаас олох хэрэгтэйг нь зааж өгөх хэрэгтэй. settings.py доторх TEMPLATES хэсгийн DIRS-ийн утгыг доорхи шиг болгон өөрчлөх хэрэгтэй.
Код:
TEMPLATES = [
…
'DIRS': ['templates'],
…
]
дараа нь demo_project хавтас дотор templates нэртэй хавтас үүсгэнэ. Дотор нь index.html файл үүсгэж доорхи кодыг хуулж тавина.
Код:
{% for blog in blogs %}
{{blog.title}}
{{blog.body}}
<hr>
{% endfor %}
Энд template дээр ирсэн `blogs` хувьсагчийг давталт ашиглан iterate хийгээд blog тус бүрийн `title`, `body` утгуудыг авч байна.
14. Одоо url тохируулах шаардлагатай. demo_project/demo_project/urls.py файлыг нээж urlpatterns list дотор бичиж өгнө.
Код:
url(r’^$’, ‘blog.views.all_blog’, name=”all_blog”),
15. Ингээд эцэст нь terminal нээж сервер ээ ажиллуулаад python manage.py runserver localhost:8000 хандаж үзэхэд нийт блогууд маань харагдах болно.
Хэрэгтэй гэж үзэн
https://github.com/Zorig/django-demo_project дээр уг төслийн кодыг оруулсан байгаа.
Үргэлжлэл хичээлийг эндээс үзнэ үү.
https://medium.com/limitx/django-001-bfe177821859