• Django Blog Oluşturma

    Django ile blog oluşturma: DjangoGirls 2020 Trabzon için oluşturulmuştur. Kurulum aşaması: python3 -m venv myvenv # myvenv adında virtual env oluşturmak source myvenv/bin/activate # myvenv adındaki venvi çalıştırmak pip install Django~=2.2.4 # django kurulumu python –version #versionu kontrolü python # Python Version Kontrol import django django.VERSION # django version kontrolü exit() django-admin startproject mysite #proje…

Django Blog Oluşturma

Django ile blog oluşturma:

DjangoGirls 2020 Trabzon için oluşturulmuştur.

Kurulum aşaması:

python3 -m venv myvenv # myvenv adında virtual env oluşturmak
source myvenv/bin/activate # myvenv adındaki venvi çalıştırmak
pip install Django~=2.2.4 # django kurulumu
python --version #versionu kontrolü
python # Python Version Kontrol
import django
django.VERSION # django version kontrolü
exit()
django-admin startproject mysite #proje oluşturma
cd mysite
python manage.py runserver #serveri başlat
python manage.py startapp post # post diye bir uygulama oluşturur.
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser #admin oluşturur
deactivate #venv çalışmasını durdur!

Uygulamamızı ayarlara ekliyoruz:

INSTALLED_APPS += 'post',

Modelimizi Oluşturuyoruz:

from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User

class Article(models.Model):
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=50, blank=True)
    description = models.TextField(max_length=1000, blank=True)
    created_date = models.DateTimeField(default=timezone.now)
    def __str__(self):
        return self.title

Veritabanımızı yeniliyoruz:

python manage.py makemigrations
python manage.py migrate

Admin sayfasına modelimizi kaydediyoruz:

from django.contrib import admin
from .models import Article

admin.site.register(Article)

View’imizi yazalım:

from django.shortcuts import render
from django.views.generic import ListView
from post.models import Article

class ArticleList(ListView):
    queryset = Article.objects.order_by('-created_date')
    template_name = 'post_list.html'

Post Uygulamasında yeni urls.py açıp ekliyoruz:

from django.urls import path
from post.views import ArticleList
urlpatterns = [
    path('', ArticleList.as_view()),
]

Ana dizindeki urls.py’a yeni urls.py’ı include edelim:

from django.urls import path,include
urlpatterns += path('', include('post.urls')),

Ayarlara template adresimizi ekleyelelim ve ana dizinde ‘templates’ adında bir klasör oluşturalım:

TEMPLATES += 'DIRS': [os.path.join(BASE_DIR, 'templates')],

‘templates’ klasöründe ‘base.html’ diye bir dosya oluşturalım:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>{% block title %}Django Auth Tutorial{% endblock %}</title>
</head>
<body>
  <main>
    {% block content %}
    {% endblock %}
  </main>
</body>
</html>

‘post_list.html’ dosyasını da oluşturalım:

{% extends "base.html" %}

{% block content %}
    <h1>Articles:</h2>
        {% for publisher in object_list %}
            <h2>{{ publisher.title }}</h2>
            <p>{{ publisher.description }}</p>
        {% endfor %}
{% endblock %}

 


Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir