#AsuultSambar :

ASUULT.NET - МОНГОЛ УЛС МАНДАН БАДРАГ!
Одоогоор 6-р сар.21.26 5:13 am байна

Бүх цагууд UTC+09:00




Шинэ сэдэв оруулах  Сэдвэд хариулах  [ 3 постууд ] 
Зохиогч Мэссэж
 Постын сэдэв: Django цуврал хичээл.
БичлэгБичигдсэн: 6-р сар.26.18 6:36 pm 
Оффлайн
Өсөх Ирээдvйтэй Гишvvн
Өсөх Ирээдvйтэй Гишvvн
Хэрэглэгчийн аватар

Нэгдсэн: 4-р сар.08.12 2:21 am
Бичлэгүүд: 7
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

_________________
~Regards:
Zo®iG


Дээд талд
 Постын сэдэв: Re: Django цуврал хичээл.
БичлэгБичигдсэн: 12-р сар.25.19 10:11 am 
Оффлайн
Хаанчлагч Гишvvн
Хаанчлагч Гишvvн
Хэрэглэгчийн аватар

Нэгдсэн: 12-р сар.19.08 2:16 pm
Бичлэгүүд: 1101
Байршил: Not found...
Энэ хайран хичээл ингээд зогсчээ дээ.
Эзэн нь уншвал үргэлжлүүлээрэй. Фэйсбүүкийн хог ухсанаас л дээр :bigthumpup:

_________________
Идэвхгүй байгааг минь уучлагтун


Дээд талд
 Постын сэдэв: Re: Django цуврал хичээл.
БичлэгБичигдсэн: 1-р сар.08.20 10:05 pm 
Оффлайн
Гал Дөл Гишvvн
Гал Дөл Гишvvн

Нэгдсэн: 1-р сар.20.14 11:50 am
Бичлэгүүд: 1491
Яасан гоё хичээл бэ цаашаа яасан бэ


Дээд талд
Өмнөх сэтгэгдлүүдийг үзүүлэх:  Эрэмбэлэх  
Шинэ сэдэв оруулах  Сэдвэд хариулах  [ 3 постууд ] 

Бүх цагууд UTC+09:00


Хэн онлайн байна

Энэ форумыг үзэж буй хэрэглэгчид: Бүртгэлтэй хэрэглэгчид байхгүй болон 1 зочин


Чи шинэ сэдвүүд оруулж чадахгүй энэ форумд
Чи хариу бичиж чадахгүй энэ форумд сэдвүүдэд
Чи чадахгүй өөрийн постуудыг энэ форумд засварлах
Чи чадахгүй өөрийн постуудыг энэ форумд устгах
Чи чадахгүй хавсралтуудыг энэ форумд оруулах

Хайх:
Дахин очих:  

Copyright Asuult.NET © 2000-2015.
Administrative Contact: Khundaga Khurelbaatar [[email protected]]
Tel: 1-888-303-4927, Fax: 1-888-406-2264.
Powered by phpBB © 2000-2015 phpBB Group. phpBB® Forum Software © phpBB Limited-ийн хүчээр