Aracılığıyla paylaş


Öğretici: Visual Studio'da görünümler ve sayfa şablonlarıyla Django uygulaması oluşturma

Bu makalede, Visual Studio 'da Django web çerçevesiyle çalışmaöğretici serisinin 2. Adımı verilmiştir.

Visual Studio, projeleriniz için daha kapsamlı bir başlangıç noktası sağlayan proje şablonlarından Django uygulamaları oluşturmanıza olanak tanır. öğretici serisinin 1. Adımı , bir veya daha fazla Django web uygulamasını desteklemek üzere bir Django web projesi için site düzeyinde yapılandırma dosyalarının nasıl oluşturulacağını açıklar. 2. Adımda, birden çok işlenmiş görünüme sahip tek sayfalı ilk Django web uygulamanızı oluşturmak için Django web projenize içerik eklersiniz.

Öğreticideki Adım 2'de şunları öğreneceksiniz:

  • Tek sayfalı bir Django uygulaması oluşturma
  • Uygulamayı Django projesinden çalıştırma
  • HTML kullanarak görünüm işleme
  • Django sayfa şablonu kullanarak bir görünüm oluştur.

Önkoşullar

Varsayılan yapıya sahip Django uygulaması oluşturma

Django uygulaması, belirli bir amaca yönelik bir dizi ilgili dosya içeren ayrı bir Python paketidir. Django projesi, bir web sunucusunun tek bir alan adından birçok ayrı giriş noktası (veya rotalardır) sunmasına yardımcı olan birçok uygulama içerebilir. Örneğin, contoso.com gibi bir etki alanı için Django projesi www.contoso.com yolu için bir uygulama, support.contoso.com yolu için ikinci bir uygulama ve docs.contoso.com yolu için üçüncü bir uygulama içerebilir. Bu senaryoda Django projesi, urls.py ve settings.py dosyalarındaki site düzeyinde URL yönlendirme ve ayarlarını işler. Her uygulamanın kendi iç yönlendirmesi, görünümleri, modelleri, statik dosyaları ve yönetim arabirimi aracılığıyla kendine özgü bir stili ve davranışı vardır.

Django uygulamasının geliştirilmesi genellikle standart bir dosya kümesiyle başlar. Visual Studio, bir Django projesinde bu dosyaları içeren bir Django uygulamasını başlatmak için şablonlar sağlar. Aynı amaca hizmet eden tümleşik bir menü komutu da vardır.

Uygulama oluşturmak için şablonu kullanma

Uygulamayı şablondan oluşturmak için şu adımları izleyin:

  1. Çözüm Gezgini'nde, Visual Studio projesine (BasicProject) sağ tıklayın ve Ekle>Yeni Öğe'yi seçin.

  2. Yeni Öğe Ekle iletişim kutusunda Django 1.9 Uygulama şablonunu seçin:

    1. Uygulamayı AdHelloDjangoAppgirin.

    2. 'ı seçin, ardından'i ekleyin.

Uygulama oluşturmak için tümleşik menü komutunu kullanma

Tümleşik Django menü komutunu kullanarak uygulamayı oluşturmak için şu adımları izleyin:

  1. Çözüm Gezgini'ndeVisual Studio projesine (BasicProject) sağ tıklayın ve >Django uygulaması ekleöğesini seçin.

  2. Django Uygulama Ekle dialog penceresinde, uygulama adı olarak HelloDjangoApp girin:

    Visual Studio'da yeni Django uygulaması için nasıl ad girildiğini gösteren ekran görüntüsü.

    Visual Studio'daki açılır iletişim kutusunda yeni Django uygulaması için nasıl ad girildiğini gösteren ekran görüntüsü.

  3. Tamamseç.

Django uygulama klasörünü keşfetme

HelloDjangoApp uygulamasını oluşturduğunuzda Visual Studio, Visual Studio projenizde aynı ada sahip bir klasör oluşturur:

Visual Studio'da uygulama dosyalarıyla Django alt klasörünü gösteren ekran görüntüsü.

Visual Studio'da Çözüm Gezgini'nde uygulama dosyalarıyla Django alt klasörünü gösteren ekran görüntüsü.

Klasör aşağıdaki öğeleri içerir:

Madde Açıklama
geçişleri Django'nun, veritabanını modellerdeki değişikliklerle uyumlu olacak şekilde güncelleştiren betikleri depoladığı klasör. Django'nun geçiş araçları daha sonra geçerli modellere uyacak şekilde veritabanının önceki sürümlerine gerekli değişiklikleri uygular. Geçişleri kullandığınızda, modellerinize odaklanır ve veritabanı şemasının yönetimini Django'ya bırakırsınız. Bu öğretici serisindeki alıştırmalar için klasör, klasörün kendi Python paketini tanımladığını gösteren bir __init__.py dosyası içerir. Daha fazla bilgi için Django belgelerine bakın.
__init__.py init dosyasının varlığı Django uygulamasını bir paket olarak tanımlar.
şablonları Tek bir index.html dosyası içeren Django sayfa şablonları için bir klasör. index.html dosyası, uygulama adıyla aynı ada sahip klasöre yerleştirilir. Şablonlar, görünümlerin sayfayı dinamik olarak işlemek için bilgi ekleyebileceği HTML bloklarıdır. {{ content }} dosyasındaki gibi sayfa şablonu "değişkenler", bu makalenin devamında açıklandığı gibi dinamik değerler için yer tutuculardır. Django uygulamaları genellikle şablonları için uygulama adıyla eşleşen bir alt klasöre yerleştirerek bir ad alanı oluşturur.
admin.py Veritabanındaki verileri görüntülemek ve düzenlemek için kullanılan uygulamanın yönetim arabirimini genişletdiğiniz Python dosyası. Başlangıçta, bu dosya yalnızca from django.contrib import admindeyimini içerir. Varsayılan olarak, Django, Django projesinin settings.py dosyasındaki girdiler aracılığıyla standart bir yönetim arabirimi içerir. Arabirimi açmak için, urls.py dosyasındaki mevcut girişlerin açıklamasını kaldırabilirsiniz.
apps.py Uygulama için bir yapılandırma sınıfı tanımlayan bir Python dosyası. (Bu tablodan sonra gelen örne bakın.)
models.py Modeller, görünümlerin uygulamanın temel veritabanıyla etkileşime geçtiği işlevlerle tanımlanan veri nesneleridir. Django, uygulamaların model ayrıntılarıyla ilgilenmemesi için veritabanı bağlantı katmanını sağlar. models.py dosyası, modellerinizi oluşturduğunuz varsayılan bir yerdir. başlangıçta, models.py dosyası yalnızca from django.db import modelsdeyimini içerir.
tests.py Birim testlerinin temel yapısını içeren bir Python dosyası.
views.py Görünümler, HTTP isteği alan ve HTTP yanıtı döndüren web sayfalarına benzer. Genellikle, görünümler HTML olarak işlenir ve web tarayıcıları nasıl görüntüleneceğini bilir, ancak bir görünümün görünür olması gerekmez (ara form gibi). Python işlevi, HTML'yi tarayıcıya işleyen görünümü tanımlar. views.py dosyası, görünümlerinizi oluşturduğunuz varsayılan bir yerdir. başlangıçta, views.py dosyası yalnızca from django.shortcuts import renderdeyimini içerir.

"HelloDjangoApp" adını kullandığınızda, apps.py dosyasının içeriği aşağıdaki gibi görünür:

from django.apps import AppConfig

class HelloDjangoAppConfig(AppConfig):
    name = 'HelloDjangoApp'

Visual Studio'da veya komut satırından uygulama oluşturma

Add>Django app komutu ve Add>New Item komutu (Django uygulama şablonuyla birlikte) manage.py startapp <app_name>Django CLI komutuyla aynı dosyaları üretir. Visual Studio'da Django uygulamasını oluşturmanın avantajı, uygulama klasörünün ve tüm dosyalarının projeye otomatik olarak tümleştirilmesidir. Projenizde istediğiniz sayıda uygulama oluşturmak için aynı Visual Studio komutunu kullanabilirsiniz.

Uygulamaya özgü sayfa görünümleri ekleme

Geçerli projenizi Visual Studio'da Hata Ayıklama>Hata Ayıklamayı Başlat (F5) veya ana araç çubuğunda web sunucusu seçerek çalıştırırsanız varsayılan Django sayfasını görürsünüz. Web uygulamalarının genellikle farklı görünümlere sahip birden çok sayfası vardır. Uygulama URL adresi için benzersiz bir yol, uygulamadaki her sayfayı tanımlar.

Uygulamaya özgü sayfa görünümlerini tanımlamak ve uygulamayı Django projesine eklemek için şu adımları izleyin:

  1. Visual Studio projenizin HelloDjangoApp alt klasöründe, views.py dosyasının içeriğini aşağıdaki kodla değiştirin:

    from django.shortcuts import render
    from django.http import HttpResponse
    
    def index(request):
        return HttpResponse("Hello, Django!")
    

    Bu kod, gerekli işleme ve HTTP tanımlarını içeri aktarır ve indexadlı bir görünüm tanımlar.

  2. Visual Studio projenizin BasicProject alt klasöründe, urls.py dosyasını aşağıdaki kodla eşleşecek şekilde değiştirin. Öğretici açıklamaları istediğiniz gibi geçerli dosyada tutabilirsiniz.

    from django.urls import include, re_path
    import HelloDjangoApp.views
    
    # Django processes URL patterns in the order they appear in the array
    urlpatterns = [
        re_path(r'^$', HelloDjangoApp.views.index, name='index'),
        re_path(r'^home$', HelloDjangoApp.views.index, name='home')
    ]
    

Her URL deseni, Django'nun belirli site göreli URL'lerini yönlendirdiği görünümleri (https://www.domain.com/URL adresini izleyen yol bölümü) açıklar:

  • urlPatterns tanımında normal ifade ^$ ile başlayan ilk giriş, /site kök sayfasının yönlendirmesidir.
  • ^home$ikinci girdi, uygulama /home sayfasına yönlendirir.

Bu örnek koddaki tanımın aynı görünümde birden çok yönlendirmeye sahip olabileceğinizi gösterdiğine dikkat edin.

(r) ön ekiyle ham yol dizelerini tanımlama

Python'daki bir yol dizesindeki r öneki "ham" anlamına gelir. Bu ön ek, Python'a yol dizesi içindeki hiçbir karakterden kaçış olmamasını emreder. Yol dizeleri için normal ifadeler birçok özel karakter kullanır. Yol dizesindeki r ön ekinin okunması, \kaçış karakterinden daha kolaydır.

Yollarda şapka işareti (^) ve dolar ($) karakterleri kullanın

URL desenlerini tanımlayan normal ifadelerde şapka işareti simgesi ^ "satır başlangıcı" ve dolar işareti $ "satır sonu" anlamına gelir. Url'lerde bu karakterlerin site köküne göre çeşitli kullanımları vardır (uygulama adresini izleyen bölüm https://www.domain.com/):

  • Normal ifade ^$ etkili bir şekilde "boş" anlamına gelir ve uygulamanın site kökü için tam URL adresiyle eşleşir https://www.domain.com/.
  • Desen ^home$, tam olarak https://www.domain.com/home/ile eşleşir; bu, /hometarafından takip edilen site yoludur. (Django desen eşleştirirken sondaki '/' işaretini kullanmaz.)
  • $ yol dizesi gibi bir normal ifadede sondaki dolar işareti ^home kullanmıyorsanız, URL desen eşleştirmesi , home, home, homeworkgibi homestead ile başlayan home192837 için geçerlidir.

Farklı normal ifadelerle denemeler yapmak için pythex.orgadresinde regex101.com gibi çevrimiçi araçları deneyin.

Django projesinden uygulama çalıştırma

Uygulamaya özgü içerik ekledikten sonra uygulamanızı yeniden çalıştırın ve tarayıcıda yol görünümlerini denetleyin:

  1. Uygulama tarayıcıda açıldığında, tarayıcıda hem / (site kökü) hem de /home URL yollarının sayfa görünümlerini denetleyin. Her iki rota için de uygulama tarayıcıda Hello, Django! iletisini görüntüler.

  2. İşiniz bittiğinde konsol penceresinde Ctrl+C ve ardından uygulamayı durdurmak için herhangi bir tuş seçin. Ayrıca hata ayıklama>hata ayıklamayı durdurseçebilirsiniz.

  3. Uygulama için tüm açık tarayıcı pencerelerini kapatın.

Değişiklikleri kaynak denetimine işleme

Django uygulama kodunu güncelleştirdikten ve güncelleştirmeleri test ettikten sonra değişikliklerinizi gözden geçirebilir ve kaynak denetimine işleyebilirsiniz:

  1. Ctrl+S klavye kısayolu gibi proje dosyalarınızdaki değişiklikleri kaydedin.

  2. Git denetimleri çubuğunda, Git Değişiklikleri penceresini açmak için kaydedilmemiş değişiklikleri (kalem 11) seçin:

    Visual Studio durum çubuğundaki kaydedilmemiş değişiklikler seçeneğini gösteren ekran görüntüsü.

  3. Git Değişiklikleri penceresinde bir işleme iletisi girin ve Tümünü İşle seçin:

    Git Değişiklikleri penceresinde uygulama sayfası kodu için işleme iletisini düzenlemeyi ve tüm değişiklikleri işlemeyi gösteren ekran görüntüsü.

    İşleme tamamlandığında, Visual Studio komut <karma> yerel olarakoluşturuldu iletisini görüntüler.

  4. (İsteğe bağlı) Kaydedilmiş değişiklikleri uzak deponuza gönderin:

    1. Git denetimleri çubuğunda giden/gelen işlemeleri (1/0 okları) seçin.

    2. Senkronizasyon (Çek ve Gönder) ya da Göndermeseçeneğini belirleyin.

    Visual Studio 2022'de işlemeleri uzak bir depoya göndermeyi gösteren ekran görüntüsü.

    Uzak depoya göndermeden önce birden çok yerel commit de biriktirebilirsiniz.

  1. Ctrl+S klavye kısayolu gibi proje dosyalarınızdaki değişiklikleri kaydedin.

  2. Visual Studio'nun sağ alt kısmındaki kaydedilmemiş değişiklikleri (11. kalem) seçin; bu, ekip gezgini açılır:

    Visual Studio durum çubuğundaki kaynak denetimi değişiklikleri seçeneğini gösteren ekran görüntüsü.

  3. Takım Gezgini'nde, "Django uygulamasına özgü sayfa oluştur" gibi bir işlem mesajı girin ve Hepsini İşleseçeneğini belirleyin.

    İşlem tamamlandığında, Visual Studio yerel olarak oluşturulan işleme <hash> iletisini görüntüler. Değişikliklerinizi sunucuyla paylaşmak için eşitleyin.

  4. (İsteğe bağlı) Kaydedilmiş değişiklikleri uzak deponuza gönderin:

    1. Ekip Gezgini, Eşitle'yiseçin.

    2. Giden Commit'ler genişletin ve Gönderseçin.

    Takım Gezgini'nde değişiklikleri eşitleyip uzak bir depoya göndermeyi gösteren ekran görüntüsü.

    Uzak depoya göndermeden önce birden çok yerel commit de biriktirebilirsiniz.

Bu öğretici serisindeki sonraki yordamlar için, kaynak denetiminde değişiklikleri işleme adımları için bu bölüme başvurabilirsiniz.

Sayfaları ve görünümleri işlemek için şablonları kullanma

index dosyasındaki işlevi, Django uygulama sayfası için düz metin bir HTTP yanıtı oluşturur. Çoğu gerçek dünya web sayfası, genellikle canlı verileri içeren zengin HTML sayfalarıyla yanıt verir. Geliştiricilerin görünümleri işlev kullanarak tanımlamasının birincil nedeni, içeriği dinamik olarak oluşturmaktır.

HttpResponse yönteminin bağımsız değişkeni yalnızca bir dizedir. Dinamik içerik kullanarak bir dize içinde herhangi bir HTML oluşturabilirsiniz. İşaretlemeyi verilerden ayırmak en iyisi olduğundan, işaretlemeyi bir şablona yerleştirmek ve verileri kodda tutmak daha iyidir.

Görünümleri satır içi HTML kullanacak şekilde ayarlama

Görünüm işlemeyi, sayfa için bazı dinamik içeriğe sahip satır içi HTML kullanacak şekilde dönüştürün:

  1. Visual Studio projenizin HelloDjangoApp alt klasöründe views.py dosyasını açın.

  2. index işlevini aşağıdaki kodla değiştirin (mevcut from deyimlerini koruyun):

    from datetime import datetime
    
    def index(request):
       now = datetime.now()
    
       html_content = "<html><head><title>Hello, Django</title></head><body>"
       html_content += "<strong>Hello Django!</strong> on " + now.strftime("%A, %d %B, %Y at %X")
       html_content += "</body></html>"
    
       return HttpResponse(html_content)
    

    Düzeltilen index işlevi, sayfayı her yenilediğinizde güncelleştirilen dinamik içerik kullanarak bir HTML yanıtı oluşturur.

  3. Değişikliklerinizi kaydedin ve uygulamanızı yeniden çalıştırın. Sayfada artık geçerli tarih ve saatin yanı sıra "Hello Django! İletiyi.

  4. Tarih ve saatin güncelleştirildiğini onaylamak için sayfayı birkaç kez yenileyin. İşiniz bittiğinde uygulamayı durdurun.

Sayfa görünümleri için HTML şablonu oluşturma

Kodda HTML oluşturmak küçük sayfalarda düzgün çalışır. Ancak, sayfalar daha karmaşık hale geldikçe sayfanızın statik HTML bölümlerini (CSS ve JavaScript dosyalarına yapılan başvurularla birlikte) "sayfa şablonları" olarak korumanız gerekir. Ardından dinamik, kod tarafından oluşturulan içeriği sayfa şablonlarına ekleyebilirsiniz. Önceki bölümde, yalnızca now.strftime çağrısındaki tarih ve saat dinamiktir; bu da diğer tüm içeriğin bir sayfa şablonuna yerleştirilebileceği anlamına gelir.

Django sayfa şablonu, "değişkenler" olarak adlandırılan birden çok değiştirme belirteci içeren bir HTML bloğudur. {{ ve }} ile gösterilen eğik parantezler, {{ content }}gibi değişkenlerin başlangıcını ve sonunu belirtir. Django'nun şablon modülü, değişkenleri kodda sağladığınız dinamik içerikle değiştirir.

Sayfa işleme işlemini HTML şablonu kullanacak şekilde dönüştürmek için şu adımları izleyin:

  1. Visual Studio projenizin HelloDjangoApp alt klasöründe settings.py dosyasını açın.

  2. INSTALLED_APPS tanımındaki uygulama başvurularını HelloDjangoAppuygulama adını içerecek şekilde güncelleştirin. Uygulama adını listedeki ilk girdi olarak ekleyin:

    INSTALLED_APPS = [
        'HelloDjangoApp',
        # Existing entries in the list ...
    ]
    

    Uygulamayı listeye eklemek, Django projesine HelloDjangoApp adlı ve bir uygulama içeren bir klasör olduğunu bildirir.

  3. TEMPLATES nesne yapılandırma ayarları APP_DIRS'in Trueolmasını onaylayın.

    'APP_DIRS': True,
    

    Bu deyim, Django'ya yüklü bir uygulamanın şablonları klasöründe şablonları aramasını sağlar. (Bu deyim varsayılan olarak tanıma eklenmelidir.)

  4. HelloDjangoApp alt klasöründe templates/HelloDjangoApp/index.html sayfa şablonu dosyasını açın.

  5. Dosyanın yalnızca bir değişken içerdiğini onaylayın, {{ content }}:

    <html>
      <head>
        <title></title>
      </head>
    
      <body>
        {{ content }}
      </body>
    </html>
    

    {{ content }} deyimi, kodda sağladığınız bir değerin yerleştirileceği bir yer tutucu veya değiştirme belirtecidir (aynı zamanda şablon değişkeniolarak da adlandırılır).

  6. Visual Studio projenizin HelloDjangoApp alt klasöründe views.py dosyasını açın.

  7. index işlevini django.shortcuts.render yardımcı işlevini kullanan aşağıdaki kodla değiştirin (mevcut from deyimlerini koruyun):

    def index(request):
       now = datetime.now()
    
       return render(
          request,
          "HelloDjangoApp/index.html",  # Relative path from the 'templates' folder to the template file
          {
             'content': "<strong>Hello Django!</strong> on " + now.strftime("%A, %d %B, %Y at %X")
          }
       )
    

    render yardımcı işlevi, sayfa şablonlarıyla çalışmak için basitleştirilmiş bir arabirim sağlar. Bu işlevin üç bağımsız değişkeni vardır:

    • İstek nesnesi.
    • Uygulamanın şablonları klasöründeki şablon dosyasının göreli yolu. Şablon dosyası, uygunsa desteklediği görünüm için adlandırılır.
    • Şablonun başvurduğu değişkenlerin sözlüğü. Şablondaki bir değişkenin {{ object.property }}olarak başvurabileceği nesneleri, sözlüğe ekleyebilirsiniz.
  8. Proje değişikliklerinizi kaydedin ve uygulamayı yeniden çalıştırın.

    Şablon oluşturma altyapısı (Jinja) HTML içeriğini otomatik olarak kaçış karakterlerine dönüştürdüğü için, \<strong> değeri içindeki satır içi HTML yazımı (content ...) 'nin HTML olarak işlenmesine neden olmaz. Otomatik kaçış, ekleme saldırılarına yönelik yanlışlıkla oluşan güvenlik açıklarını önler.

    Geliştiriciler genellikle bir sayfadan giriş toplar ve şablon yer tutucusu kullanarak bunu başka bir sayfada değer olarak kullanır. Kaçış, HTML'yi koddan uzak tutmanın en iyisi olduğunu da anımsatır.

    İşiniz bittiğinde uygulamayı durdurun.

Ayrı yer tutucuları kullanın

HTML işaretlemesi içindeki her veri parçası için ayrı yer tutucular kullanabilirsiniz. Ardından, index işlevinizi belirli yer tutucu değerlerini sağlayacak şekilde yeniden ayarlayın:

  1. şablonları/HelloDjangoApp/index.html sayfa şablonu dosyasının içeriğini aşağıdaki işaretlemeyle değiştirin:

    <html>
      <head>
        <title>{{ title }}</title>
      </head>
      <body>
        <strong>{{ message }}</strong>{{ content }}
      </body>
    </html>
    

    Bu HTML işaretlemesi bir sayfa başlığı ekler ve tüm biçimlendirmeyi sayfa şablonunda tutar.

  2. HelloDjangoApp/views.py dosyasında index işlevini aşağıdaki kodla değiştirin:

    def index(request):
        now = datetime.now()
    
        return render(
            request,
            "HelloDjangoApp/index.html",  # Relative path from the 'templates' folder to the template file
            # "index.html", # Use this code for VS 2017 15.7 and earlier
            {
                'title' : "Hello Django",
                'message' : "Hello Django!",
                'content' : " on " + now.strftime("%A, %d %B, %Y at %X")
            }
        )
    

    Bu kod, sayfa şablonundaki tüm değişkenler için değerler sağlar.

  3. Değişikliklerinizi kaydedin ve uygulamanızı yeniden çalıştırın. Bu kez düzgün işlenmiş çıkışı görmeniz gerekir:

    sayfa bilgilerinin işlenmesi için HTML şablonu kullanan çalışan uygulamayı gösteren ekran görüntüsü.

  4. Değişikliklerinizi kaynak denetimine kaydedebilir ve uzak deponuzu güncelleştirebilirsiniz. Daha fazla bilgi için bkz. Değişiklikleri kaynak denetimine onayla.

Ayrı sayfa şablonları

Şablonlar genellikle ayrı HTML dosyalarında tutulur, ancak satır içi şablon da kullanabilirsiniz. İşaretlemesi ve kod arasında temiz bir ayrım yapmak için ayrı dosyalar önerilir.

Şablonlar için .html uzantısını kullanma

Sayfa şablonu dosyalarının .html uzantısı tamamen isteğe bağlıdır. render_template işlevinin ilk bağımsız değişkeninde dosyanın tam göreli yolunu her zaman tanımlayabilirsiniz. Ancak Visual Studio (ve diğer düzenleyiciler) genellikle .html dosyalarıyla kod tamamlama ve söz dizimi renklendirme gibi özellikler sağlar ve bu da sayfa şablonlarının HTML olmamasından daha ağır basar.

Bir Django projesiyle çalışırken, Visual Studio düzenlediğiniz HTML dosyasının aslında bir Django şablonu olup olmadığını otomatik olarak algılar ve belirli otomatik tamamlama özellikleri sağlar. Django sayfa şablonu açıklamasını ({#) girmeye başlarsanız, Visual Studio otomatik olarak kapanış #} karakterleri sağlar. Açıklama Seçimini ve Açıklama Seçimini Kaldır komutları (Düzenle>Gelişmiş menüsünde), HTML açıklamaları yerine şablon açıklamalarını kullanır.

Sorunları giderme

Uygulamanızı çalıştırdığınızda, uygulamanızın şablon dosyasıyla ilgili sorunlarla karşılaşabilirsiniz. Aşağıdaki noktaları gözden geçirin ve Django proje yapılandırmanızın doğru olduğundan emin olun.

Şablon bulunamadı

Django veya Visual Studio bir Şablonu Bulunamadı hatası görüntüleniyorsa, uygulamanızın INSTALLED_APPS listesinde olduğundan emin olun. Bu liste, Visual Studio projenizin uygulama alt klasörünün altındaki settings.py dosyasındadır (örneğin, HelloDjangoApp ). Listede uygulamanız için bir giriş yoksa Django, uygulamanın şablonları klasörüne bakmayı bilmez.

Yinelenen şablon yapısı

Django, render işlevinde başvuruda bulunılan bir şablonu ararken göreli yol ile eşleşen ilk dosyayı kullanır. Aynı projede şablonlar için aynı klasör yapılarıyla birden çok Django uygulamanız varsa, büyük olasılıkla bir uygulama istemeden başka bir uygulamadan şablon kullanabilir. Bu tür hataları önlemek için, yinelemeyi önlemek için her zaman uygulamanın şablonları klasörün altında uygulamanın adıyla eşleşen bir alt klasör oluşturun.

Sonraki adım