| #AsuultSambar : https://forum.asuult.net:443/ |
|
| Django цуврал хичээл. https://forum.asuult.net:443/viewtopic.php?t=195447 |
1 хуудас 1 |
| Зохиогч: | L0GiX [ 6-р сар.26.18 6:36 pm ] |
| Постын сэдэв: | Django цуврал хичээл. |
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 startappblogингэснээр төслийн хавтсанд нэмж “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 migrate8. 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 |
|
| Зохиогч: | keygenme [ 12-р сар.25.19 10:11 am ] |
| Постын сэдэв: | Re: Django цуврал хичээл. |
Энэ хайран хичээл ингээд зогсчээ дээ. Эзэн нь уншвал үргэлжлүүлээрэй. Фэйсбүүкийн хог ухсанаас л дээр |
|
| Зохиогч: | Allergic Jet [ 1-р сар.08.20 10:05 pm ] |
| Постын сэдэв: | Re: Django цуврал хичээл. |
Яасан гоё хичээл бэ цаашаа яасан бэ |
|
| 1 хуудас 1 | Бүх цагууд UTC+09:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|