मेरी Django वेबसाइट के लिए फ्रंट एंड (UI) कैसे विकसित करें


26

मैं Django और वेब विकास के लिए नया सीख रहा हूं। कृपया मुझे क्षमा करें यदि आपको यह प्रश्न बहुत गूंगा लगता है।

इसलिए, मैं Django का उपयोग करके एक फेसबुक एप्लिकेशन बना रहा हूं जिसे मैं Google ऐप इंजन में होस्ट करना चाहूंगा। यह परियोजना किसी भी वेबसाइट के आरएसएस / एटम फीड को पढ़ने पर ध्यान केंद्रित करेगी (यह अब मैं कह सकता हूं)।

मुझे यकीन है कि RSS / Atom फ़ाइलों को संसाधित करने के लिए पर्याप्त है, लेकिन मैं फ्रंट एंड (उपयोगकर्ता इंटरफ़ेस) भाग - "डिज़ाइन भाग" के बारे में चिंतित हूं। मुझे पता नहीं है कि HTML / CSS / JavaScript (मैं सरल HTML सामान को संभाल सकता हूं लेकिन यह किसी भी डिज़ाइनिंग चीज़ की ओर नहीं ले जाता है)।

सबसे पहले, मैंने UI डिजाइन करने के लिए ड्रीमविवर या किसी समकक्ष सॉफ्टवेयर जैसे उपकरणों का उपयोग करने के बारे में सोचा था, लेकिन जब मैंने वास्तव में django सीखना शुरू किया और इसे प्राप्त करना शुरू किया, तो यह "संभव नहीं" बात प्रतीत होती है।

इसलिए,

  • मुझे अपनी साइट का UI भाग कैसे डिज़ाइन करना चाहिए? क्या मैं ड्रीमविवर जैसे टूल का उपयोग नहीं कर सकता हूं?

    • यदि नहीं, तो मेरे जैसे आदमी के लिए सबसे अच्छा तरीका क्या है जो जावास्क्रिप्ट / सीएसएस को नहीं जानता है
    • यदि हां, तो सपने देखने वाले के लिए सबसे अच्छा खुला स्रोत क्या है?
    • क्या Google App Engine इस सब को झेल सकता है?
  • जो लोग Django से निपटते हैं, वे उन टेम्पलेट पृष्ठों को कैसे संपादित करते हैं। Django का उल्लेख है कि यह तार्किक (विचार) और डिज़ाइन (टेम्पलेट) भागों को अलग करेगा ताकि एक कंपनी में विभिन्न विभाग अलग-अलग संभाल सकें। लेकिन इस तथ्य को ध्यान में रखते हुए कि Django के HTML पृष्ठ "टैग" से भरे हुए हैं जो HTML (डिजाइनिंग) से संबंधित नहीं हैं, यूआई लोग इसे कैसे संभालते हैं?


1
पहले, इसे काम करो, फिर इसे सुंदर बनाओ।
मस्तूल

जवाबों:


18

Django डॉक्स ने कभी उल्लेख नहीं किया कि एक व्यक्ति जो HTML / JS / CSS के बारे में नहीं जानता है वह इसका उपयोग कर सकता है। चिंताओं का पृथक्करण बैकएंड में भी किया जाता है, जहां वास्तविक कार्रवाई (विचार) को डेटाबेस परत या URL-रूटिंग तर्क से अलग किया जाता है - जो ढीले-युग्मन के लिए अनुमति देता है। इसका मतलब यह नहीं है कि आप कभी भी अपने मॉडल को समझने के बिना विचार लिख सकते हैं। इसी तरह (ठीक है, इसी तरह नहीं), आपको मूल वेब पेजों को प्राप्त करने के लिए HTML / CSS की समझ होनी चाहिए। आप कुछ JS सीखना चाह सकते हैं या नहीं कर सकते हैं, लेकिन मुझे लगता है कि HTML5 के साथ, यह कुछ जावास्क्रिप्ट जानने के लिए अधिक या कम आवश्यक है।

कोई समझदार वेब-डेवलपर किसी WYSIWYG संपादक का उपयोग करने की सलाह देने वाला नहीं है, जैसे DreamWeaver। HTML को हाथ से लिखें। हालाँकि, आप अपनी परियोजना को तेजी से शुरू करने के लिए HTML5 Bolierplate जैसी चीजों का उपयोग कर सकते हैं।

Google AppEngine एक PaaS है जिसका उपयोग आप अपने एप्लिकेशन को परिनियोजित करने के लिए कर सकते हैं। यह अन्य चीजों के बीच प्रदान करेगा, पायथन रनटाइम, एक उच्च-प्रतिकृति डेटास्टोर आदि - लेकिन यह आपके फ्रंट-एंड को जेनरेट करने का ध्यान नहीं रखेगा।

यदि आप फ्रंट-एंड की देखभाल करने के लिए किसी को किराए पर लेने जा रहे हैं, तो उस व्यक्ति को वैसे भी Django टैग का उपयोग करने का तरीका जानना होगा, जैसा कि वास्तव में (यदि आप एमवीसी - या एमटीवी पैटर्न का बारीकी से पालन करते हैं), तो वे धुंधली रेखा को परिभाषित करते हैं। "स्थिर" और "गतिशील" वेब-पृष्ठों के बीच। यहां तक ​​कि अगर आप एक फ्रंट-डेवलपर को किराए पर लेना चुनते हैं, तो मैं आपको सुझाव देता हूं कि आप HTML और CSS की मूल बातें समझें (कम से कम इतना तो आप जानते ही हैं कि यह कैसे काम करता है और आप CSS स्टैटिक फ़ाइलों की सेवा कैसे करते हैं)। यह केवल लंबे समय में आपकी मदद करेगा।

सभी लोगों के पास अच्छे डिजाइन कौशल नहीं होते हैं, और डिजाइन निस्संदेह कुशल लोगों के लिए सबसे अच्छा है, लेकिन जब वास्तव में उस डिजाइन के साथ पृष्ठों की सेवा की बात आती है, तो यह सभी HTML और सीएसएस है। तो आप ऐसे व्यक्ति को काम पर रख सकते हैं जो फ्रंट-एंड डिज़ाइनर और फ्रंट-एंड डेवलपर के रूप में डबल्स करता है। लेकिन मेरा सुझाव है कि आप फ्रंट-एंड प्रौद्योगिकियों से पूरी तरह अनजान न रहें।


2
+1 "नो सेन वेब-डेवलपर"
msw

यह शायद सच है कि कोई भी समझदार वेब डेवलपर HTMLw को ड्रीमविवर के समान किसी भी चीज़ में लेखक नहीं करना चाहेगा। लेकिन अधिकांश वेब डिजाइनर सीएसएस के लिए ड्रीमविवर या समान का उपयोग करना चाहते हैं, और सवाल सीएसएस का उल्लेख करता है। इसलिए ड्रीमविवर और Django के साथ काम करने के संबंध में कुछ दिशा देना अच्छा होगा।
Westcroft_to_Apse

4

मैं जो कुछ भी करता हूं वह या तो ड्रीमव्यूअर में एक लेआउट डिजाइन करता है, या नकली डेटा के साथ HTML "वायरफ्रेम" बनाने के लिए एक डिजाइनर को किराए पर लेता है, फिर मैं इस पर जाता हूं और इसे काम करने वाले टेम्पलेट में बनाने के लिए Django के (या जिंजा के) टेम्प्लेट का उपयोग करता हूं। मैं कुछ HTML जानता हूं, लेकिन मैं कभी भी कुछ आकर्षक नहीं बना पाऊंगा। कार्यात्मक? हाँ! देखने में अच्छी? ग्लोब नं!

तो, निष्कर्ष में; HTML के केवल कुछ बुनियादी ज्ञान के साथ, आप टेम्पलेट के रूप में काम करने के लिए पूर्व-निर्मित HTML दस्तावेज़ को संशोधित कर सकते हैं।


1

वैसे भी आपको यह समझने की आवश्यकता होगी कि HTML कैसे काम कर रहा है। आप बिना किसी ग्राफिक सुंदरियों के सरल लेआउट के साथ शुरू कर सकते हैं।

आप अपने पसंद के किसी भी संपादक का उपयोग कर सकते हैं (ड्रीमविवर या जो भी हो) लेकिन django के टैग टेम्पलेट को प्रोग्राम कोड से लिंक कर रहे हैं, इसलिए कोई भी संपादक WYSIWYG (आप जो देखते हैं वह आपको मिलता है) के साथ नहीं बना सकते हैं। कुछ आईडीई के पास टैग के लिए कुछ हेल्पर्स हैं, लेकिन अब और नहीं, वे बस बंद टैग्स और इसी तरह की चीजों को स्वचालित करते हैं।

या आप अपने एप्लिकेशन में टेम्पलेट बनाने और एकीकृत करने के लिए एक फ्रीलांसर को काम पर रख सकते हैं, लेकिन यह कुछ सीखने का सबसे अच्छा तरीका नहीं है :)


0

शायद html + बूटस्ट्रैप का उपयोग करना सीखें। बूटस्ट्रैप उत्तरदायी साइटों को बनाने के लिए एक आधुनिक पैकेज है जहां सीएसएस और जावा स्क्रिप्ट्स लगभग हैं, यदि सभी नहीं, तो आपकी देखभाल की जाती है। तो html + css + js में गहरे तक रास्ता खोदने की जरूरत नहीं है।

बूटस्ट्रैप के बारे में पर्याप्त जानकारी होने के बाद आप क्या करेंगे इन बूटस्ट्रैप उदाहरणों पर जाने के लिए फिर वहां से अपने वेब डिज़ाइन शुरू करें। फिर जब आपको घटक विशिष्ट तत्वों की आवश्यकता होगी, तब इस लिंक पर जाएं।

मुझे एचटीएमएल, सीएसएस और जेएस पर बहुत कम पता था और बूटस्ट्रैप ने वास्तव में मेरी गांड को बचाया। आप उन लोगों की नंगे मूल बातें पता करने की आवश्यकता होगी, लेकिन अगर आप वेब विकास पर हैं, तो चोट नहीं करनी चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.