Accounts: foydalanuvchilar bilan ishlash: accounts deb nomlangan app yaratamiz va uni settings fayliga qo’shib olamiz va accounts appdagi model ni shakllantirib olamiz


urls.py path('', BlogList.as_view(), name = "blog_list"), html file



Download 0,57 Mb.
bet2/2
Sana15.06.2022
Hajmi0,57 Mb.
#672130
1   2
Bog'liq
blog site 2

urls.py
path('', BlogList.as_view(), name = "blog_list"),

html file
{% extends 'base.html' %}

{% block title %} Blog list {% endblock %}

{% block content %}
{% for blog in blogs %}

{{ blog.title }}


{{ blog.description|safe }}

{% endfor %}
{% endblock %}
Biz blogni title, image va descriptionini chiqardik boshqa ma’lumotlarni ham chiqarish mumkin.
Categoriyalar ro’yhati uchun class:
class BlogCategory(BaseView, View):
def get(self, request, slug):
category = Category.objects.get(slug = slug)
blog = Blog.objects.filter(category=category)
categories = self.category()
tags = self.tag()
context = {
'category':category,
'blogs':blog,
'categories':categories,
'tags':tags,
}
return render(request, 'category_blogs.html', context)
bu yerda categoriyani slugini olamiz va blogni categoriya bo’yicha filterlaymiz va BlogCategory clasini urlga bo’g’laymiz va html file yaratamiz.
HTML
{% extends 'base.html' %}

{% block title %} {{ category.name }} {% endblock %}

{% block content %}
{{ category.name }}
{% for blog in blogs %}

{{ blog.title }}

{{ blog.description|safe }}

{% endfor %}
{% endblock %}

Base.html


Categoriya va teglar ro’yhatini chiqarish.

Foydalanuvchi tomonida blog qo’shish:


Avval forma uchun forms.py faylini yaratib olamiz.
from django import forms

from .models import Blog

class BlogForm(forms.ModelForm):
class Meta:
model = Blog
fields = ['title', 'image', 'description', 'category', 'tags']

fields bu blog qo’shishda ko’rinishi kerak bo’lgan maydonlarni chiqaradi.


Endi class ni yozamiz:
class BlogCreate(BaseView, View):
def get(self, request):
form = BlogForm()
context = {
'form':form,
'categories':self.category(),
'tags':self.tag()
}
return render(request, 'blog_create.html', context)

def post(self, request):


form = BlogForm(request.POST, request.FILES)
if form.is_valid():
form2 = form.save(commit=False)
form2.slug = slugify(form2.title)
form2.user = request.user
form2.save()
return redirect('blog_list')
request.FILES media fayllar uchun.
form2 = form.save(commit=False) commit = False sababi bu ma’lumotni bazaga saqlamay turadi.
form2.slug = slugify(form2.title) slugify() funksiyasi ma’lumot kiritganimizda slugiga uning title lini olib beradi buning uchun slugify() funksiyasini import qilish kerak bo’ladi:
from django.template.defaultfilters import slugify

tag bo’yicha bloglar:
class BlogTags(View, BaseView):
def get(self, request, slug):
tag = Tag.objects.get(slug=slug)
blogs = Blog.objects.filter(tags=tag)

context = {


'tag':tag,
'blogs':blogs,
'tags':self.tag(),
'categories':self.category()
}
return render(request, 'tag.html', context)
Download 0,57 Mb.

Do'stlaringiz bilan baham:
1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish