Web konusunda kafam çok karışık [javaScript Django]

Öncelikle merhabalar ben hem frontend hem backend konusunda bilgi sahibi olmak isteyen biriym. Daha yeni başladım ama kafamı karıştıran bir olay var. Ben frontend için html css backende de django ile ilerliyorum ama javascript çok kafamı karıştırıyor. Mesela makale ekleme silme işlemleri için site de göstermek vesayre için django yeterli oluyor iyi bir görnüş için css bootrstrap kullanıyorum ama aynı işlemi javascriptle de yapabliyorum mesela todo list bunu dom işemleriyle yapabiliyorum, biliyorum veritabanına yüklenmiyor bilgiler ama ben todo işlemini django ile de site de gösterebiliyorum javascriptle de ,neden javascriptle yapmalıyım veya neden djangoyla yapmalıyım? İnşallah anlatabilmişimdir kafamın karıştığı noktayı kısacası sorum şu javascriptle modeli yapıp sadece veri tabanı için mi django kullanmalıyım ama djangoyla hem site de gösterip hem de veri tabanına kaydedebiliyorum… :slight_smile: kafam çok karışık yanıtlarsanız sevinirim

Javascript’in işlevi sadece DOM manipülasyonu değil. Javascript ile daha aktif sayfalar yapılabilir. Websocket, AJAX gibi teknolojilerle sayfayı yenilemeden sunucu ile iletişime geçilir. Örneğin bir bildirim geldiğinde kullanıcı hemen haberdar edilebilir, çünkü arkaplanda belirli aralıklarla javascript yardımı ile sunucuya bağlanıp bildirimler alınıyordur. Yazbel gibi.

Bunların dışında geçişli slaytlar, basit oyunlar, kullanıcı-sayfa etkileşimi gibi şeyler yapabilmek için javascript gerekli. Her zaman javascript kullanılacak diye bir şey yok. İhtiyaçları ortaya koyarsınız, javascript gerekiyor mu diye bakarsınız ve gerekiyorsa kullanırsınız.

1 Beğeni

Ya örnek üzerinden javascriptle(framework farketrmez) djangonun bir arada kullanıldığı bir web uygulamasını anlatabilir misiniz . Bunu yaparken javascript bunları veritabına kaydederken django tarzı

Javascript veritabanına kayıt aşamasında olmak zorunda değil, hatta hiç böyle bir amacı yok.

Kendi django projem örnek olarak, paketleri anlık olarak ekranda gösteriyor.

Bu daha profesyonel, ekşi sözlük klonu
http://sozluk.me/

1 Beğeni

Django sayfa üzerinde bir işlem yapmaz. Sadece serverda sayfayı oluşturur. (Nasıl yapıldığını bilmeden yazıyorum) Yazbel forumuna bakarsak navbar, başlık, kategoriler, etiketler vb. şeyler Django tarafından oluşturuluyor. 1 defa oluşturuluyor ve kullanıcıya yolluyor, başka hiçbir işlem yapmıyor.

Javascript ise tarayıcı üzerinde çalışır. Site kullanıcıya ulaştıktan sonra bütün işlemler js tarafından yapılır. Mesela cevap yazarken gözüken önizleme js tarafından hazırlanıyor veya bir sayaç yazdıysanız sayacın azalması js tarafından gerçekleştiriliyor.

Sizin kafanızı karıştıran konulardan biri de veritabanı işlemleri sanıyorum. Veritabanı işlemleri sadece serverda gerçekleştirilebilir. Serverda da Django çalıştığına göre sadece Django yapabiliyor. Javascript bu konuda sadece Django’ya haber vermekle yükümlü. Bu iş için daha önce karar verilmiş yöntemler var. @coderistan yazmış:

Bu teknolojiler kullanıcı görmeden servera yapılan bağlantılarla gerçekleştirilir. Websocket için server tarafında view gibi consumer yazarak gelen isteklere nasıl cevap verileceğine yine biz karar veriyoruz. Django’da websocket kullanımı için “Django-channels” isimli kütüphaneyi araştırabilirsiniz. Bunun yerine Rest api de kullanabilirsiniz.(Bu bilgiler şu an için size biraz fazla olabilir ama dursun burada)

Ben Django’da template kullanarak sayfa oluşturmanızı önermiyorum. Onun yerine bir frontend frameworkü kullanmanızı öneririm. Tabi ki frontend frameworkü öğrenene kadar kullanılabilir. Ancak bir frontend frameworkü öğrendikten sonra aslında bir eziyet olduğunu siz de anlayacaksınız.

1 Beğeni