Django

Django Görünümleri Nasıl Oluşturulur?

Django Görünümleri Nasıl Oluşturulur?
Django uygulamasının HTML içeriği, XML verileri, JSON verileri, resim, 404 hatası vb. gibi farklı veri türleri. Django görünümü aracılığıyla şablona aktarılır. Her görünüm belirli bir amaç için oluşturulur ve belirli bir şablonla ilişkilendirilir. Görünümün verileri, kullanıcıdan HTML formu aracılığıyla veya veritabanı veya iş mantığından oluşturulabilir. Django görünümleri, bir python sınıfı veya python işlevi yöntemi kullanılarak oluşturulabilir. Sınıf tabanlı görünümler, işlev tabanlı görünümlere kıyasla birçok işlevsellik içerir. Bunun için Django uygulamalarının çoğu, Django uygulamasının verilerini temsil etmek için sınıf tabanlı görünümleri kullanır. İşlev tabanlı görünüm ve sınıf tabanlı görünüm oluşturma yolları bu eğitimde açıklanmıştır.

Önkoşullar:

Bu öğreticinin örneklerini uygulamadan önce aşağıdaki görevleri tamamlamanız gerekir:

  1. Django 3+ sürümünü Ubuntu 20+ üzerine kurun (tercihen)
  2. Bir Django projesi oluşturun
  3. Sunucunun düzgün çalışıp çalışmadığını kontrol etmek için Django sunucusunu çalıştırın

Bir Django Uygulaması kurun:

bir. viewapp adlı bir Django uygulaması oluşturmak için aşağıdaki komutu çalıştırın:

$ python3 yönetmek.py startapp viewapp

B. Django veritabanına erişim için kullanıcı oluşturmak için aşağıdaki komutu çalıştırın. Kullanıcıyı daha önce oluşturduysanız, bu bölümü atlayın:

$ python3 yönetmek.py createsuperuser

C. Uygulama adını ayarların INSTALLED_APP bölümüne ekleyin.py dosyası.

INSTALLED_APPS = [

'viewapp'
]

D. adlı bir klasör oluşturun şablonlar içinde görünüm uygulaması klasörünü ayarlayın ve şablonun uygulamanın konumu ŞABLONLAR bir bölümü ayarlar.p dosya.

ŞABLONLAR = [

… .
'DIRS': ['/home/fahmida/django_pro/viewapp/templates'],
… .
,
]

Basit işlev tabanlı bir Görünüm oluşturun:

Görüntüleme.p dosyadan görünüm uygulaması klasörünü açın ve bu dosyanın içeriğini aşağıdaki komut dosyasıyla değiştirin. indeks() işlevi, tarayıcıya gönderilecek HTML içeriğini oluşturmak için komut dosyasında kullanılır HttpYanıt() yöntem. Burada, sistemin güncel tarih ve saati kullanılarak okunacaktır bugün() işlevi ve geçerli tarih değeri tarayıcıya gönderilmeden önce oluşturulacaktır.

Görüntüleme.p

# Geçerli tarihi okumak için tarih modülünü içe aktarın
datetime içe aktarma tarihinden itibaren
# Görünümden şablona veri göndermek için HttpResponse modülünü içe aktarın
django'dan.http içe aktarma HttpResponse
# İşlev tabanlı görünüm oluşturmak için işlevi tanımlayın
def indeksi(istek):
# Geçerli tarihi oku
bugün = tarih.bugün()
# Görünüm için statik verileri ayarlayın
içerik = "

LinuxHint'e hoş geldiniz

"
içerik += "Bugün " + bugün.strftime("%B") + " " + bugün.strftime("%d") + ", " + str(bugün.yıl) +"

"
# İçeriği tarayıcıya gönderdi
HttpResponse(içerik) döndür

İçeriğini değiştirin url'ler.p aşağıdaki komut dosyasıyla dosya. Senaryoda, 'Hoşgeldiniz/' yolu çağırmak için tanımlanır dizin() HTML içeriğini şablon dosyasına gönderecek işlev.

url'ler.p

# Yol modülünü içe aktar
django'dan.url'leri içe aktarma yolu
# Görünüm modülünü içe aktar
viewapp içe aktarma görünümlerinden
# İçeriği görüntülemek için dizin yöntemini çağırın
url kalıpları = [
# index() işlevini çağırmak için yolu tanımlayın
path('hoş geldiniz/', görünümler.indeks)
]

Aşağıdaki çıktıyı gösterecek olan tarayıcıdan aşağıdaki URL'yi çalıştırın. Çıktıda biçimlendirilmiş bir başlık metni ve geçerli tarih değeri gösterilir.

http://localhost:8000/hoşgeldiniz/

Basit sınıf tabanlı bir Görünüm oluşturun:

Oluşturmak görünüm2.p viewapp klasörünün içindeki dosya ve aşağıdaki betiği ekleyin. Benim görüşüm class adlı bir yöntemi içeren komut dosyasında tanımlanmıştır almak(). adlı bir liste değişkeni liste verileri 10 rastgele sayıdan oluşan bir liste oluşturmak için komut dosyasında bildirildi. Listenin değerleri şablona şu şekilde iletilecektir: HttpYanıt() bu görünüm çağrıldığında yöntem. rastgele modülü, komut dosyasının her yinelemesinde rastgele bir tamsayı oluşturmak için komut dosyasında kullanılmıştır için kullanarak döngü rasgele() fonksiyon.

görünüm2.p

# Görünümden şablona veri göndermek için HttpResponse modülünü içe aktarın
django'dan.http içe aktarma HttpResponse
# Görünüm modülünü içe aktar
django'dan.görünümleri içe aktar Görünüm
# Rastgele modülü içe aktar
rastgele içe aktar
# Sınıf tabanlı görünümler için sınıf tanımlayın
sınıf MyView(Görünüm):
def get(self, request):
# Liste değişkenini bildir
liste verileri = []
# Listenin ilk öğesini ekleyin
liste verileri.ekle('

10 rastgele sayının listesi:

')
# Döngüyü 10 kez yinele
(10) aralığında n için:
# 1 ile 50 arasında rastgele bir sayı üret
rastgele_sayı = rastgele.randint(1, 50)
# Rastgele sayıyı listeye ekleyin
liste verileri.ekle(rastgele_sayı)
# Listeye bir ara elemanı ekleyin
liste verileri.ekle('
')
# Listenin son öğesini ekleyin
liste verileri.ekle('
')
# Liste değerlerini tarayıcıya gönder
HttpResponse(listdata) döndür

İçeriğini değiştirin url'ler.p aşağıdaki komut dosyasıyla dosya. Senaryoda, “numara/” yolu çağırmak için tanımlanır Benim görüşüm.as_view() listenin verilerini şablon dosyasına gönderecek yöntem.

url'ler.p

# Yol modülünü içe aktar
django'dan.url'leri içe aktarma yolu
# Görünüm modülünü içe aktar
viewapp içe aktarma görünümlerinden
# MyView sınıfını içe aktar
görünüm uygulamasından.görünümler2 MyView'ı içe aktar
# MyView sınıfının get yöntemini çağırın
url kalıpları = [
# index() işlevini çağırmak için yolu tanımlayın
path('hoş geldiniz/', görünümler.indeks),
# MyView'ı aramak için yolu tanımlayın.as_view() yöntemi
yol('sayı/', MyView.as_view()),
]

Aşağıdaki çıktıyı gösterecek olan tarayıcıdan aşağıdaki URL'yi çalıştırın. Listedeki her numara rastgele oluşturulacağından, sayfa yenilenirse çıktının numaraları değişecektir.

http://localhost:8000/sayı/

Sonuç:

Web uygulamasının çıktısı, herhangi bir web uygulamasının önemli bir parçası olan görünüm dosyasının komut dosyasına bağlıdır. İşlev tabanlı görünümler çoğunlukla Django uygulamasının ilk sürümünde kullanılmaktadır ve artık Django'nun çoğu uygulamasında sınıf tabanlı görünümler kullanılmaktadır. Yeni Django kullanıcılarının uygulamalarına göre görünümlerini oluşturmalarına yardımcı olmak için bu eğitimde her iki görünüm türünü oluşturmanın yolları gösterilmiştir.

Linux için En İyi Komut Satırı Oyunları
Komut satırı, Linux kullanırken yalnızca en büyük müttefikiniz değil, aynı zamanda eğlence kaynağı da olabilir, çünkü onu özel bir grafik kartı gerekt...
Linux için En İyi Gamepad Eşleme Uygulamaları
Tipik bir klavye ve fare giriş sistemi yerine bir gamepad ile Linux'ta oyun oynamayı seviyorsanız, sizin için bazı faydalı uygulamalar var. Çoğu PC oy...
Linux Oyuncuları için Faydalı Araçlar
Linux'ta oyun oynamayı seviyorsanız, oyun deneyimini geliştirmek için Wine, Lutris ve OBS Studio gibi uygulamaları ve yardımcı programları kullanmış o...