Starting an Application

Kategori: Python / Django , 21 Eylül 2019 , JanFranco


Django Framework'ünü kullanırken, web sitesinde yapmak istediğimiz işleri uygulamalara böleceğiz. Örneğin web sitemizde kullanıcıların kayıt olmasını ve giriş yapmasını istiyoruz. Bir kullanıcı uygulaması oluşturacağız. Kullanıcıların yazılar yazmasını, paylaşmasını istiyoruz. Bunun için bir yazı uygulaması başlatacağız. Örnekler çoğaltılabilir. İlk olarak VSCode uygulamasında terminal sekmesini açıp aşağıdaki komutu girelim:


python manage.py startapp <application_name>
Ben uygulama adını article olarak belirledim. Bu nedenle article adında bir klasör oluştu. Oluşan klasördeki models.py dosyasını açalım ve bir model ekleyelim, sınıf açalım:


class Article(models.Model):
    author = models.ForeignKey("auth.User", on_delete = models.CASCADE, verbose_name = "Author")
    title = models.CharField(max_length = 50, verbose_name = "Title")
    content = models.TextField(verbose_name = "Content")
    created_date = models.DateTimeField(auto_now_add=True, verbose_name = "Date")
    def __str__(self):
        return self.title
Burada ForeignKey methodunu, User tablomuzla ilişkili bir işlem yapmak için kullandık. İkinci parametre olarak girdiğimiz on_delete = models.CASCADE şunu ifade ediyor, eğer bir kullanıcıyı silersek, kullanıcının yazdığı tüm makaleler de silinir. Son fonksiyon toString fonksiyonudur. Admin panelinde articles'a tıkladığımız zaman articles object(1) object(2) değil de başlık yazması için kullandık. Aynı şekilde verbose_name parametresi de admin panelinin daha iyi görünmesi için. Şimdi admin panelimizde bu uygulamasyı göstermek için admin.py dosyasını açalım ve aşağıdaki satırları ekleyelim:


from .models import Article

admin.site.register(Article)
Daha sonra settings.py dosyasını açalım ve INSTALLED_APPS listesinin sonuna aşağıdaki satırı ekleyelim:


"article",
Son olarak veritabanında gerekli tabloların oluşması için (title, content, date, author) aşağıdaki komutları girelim:


python manage.py makemigrations

python manage.py migrate


Sonraki Yazı: Customizing Admin Panel
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın