#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 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

Зохиогч:  keygenme [ 12-р сар.25.19 10:11 am ]
Постын сэдэв:  Re: Django цуврал хичээл.

Энэ хайран хичээл ингээд зогсчээ дээ.
Эзэн нь уншвал үргэлжлүүлээрэй. Фэйсбүүкийн хог ухсанаас л дээр :bigthumpup:

Зохиогч:  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/