मैं प्रोग्रामर नहीं हूं, लेकिन मैंने php/mysql में कुछ चीजें लिखी हैं। तो मुझे प्रोग्रामिंग की समझ है, लेकिन मैं django ऐप्स के तर्क को समझ नहीं पा रहा हूं ... और पायथन इतना अजीब जटिल है! कृपया मेरी एक छोटी सी समस्या का समाधान करने में मेरी सहायता करें।

मेरी लिपि सरल है, यह यादृच्छिक वाक्य प्रदर्शित करती है। कुछ भी आकर्षक नहीं!

तो मैंने:
random-quotes.py -->

import random

#Random
def random_quotes (request, template_name='header.html'):
    quotes = ["\"There are always two people in every picture: the photographer and the viewer.\"",
              "\"My portraits are more about me than they are about the people I photograph.\" <br><span class=\"author_span_style\">~ Richard Avedon</span>"]
    pick_quote = quotes[random.randint(0, len(quotes) - 1)]
    return render(request, template_name, {
                                           'random_quote': pick_quote,
                                           }) 

header.html -->

{{ random_quote }}

urls.py -->

url(r'^$', app.random-quotes.random_quotes, name='random_quotes'),

यह यूआरएल चीज मेरे लिए पूरी तरह अजीब है। मुझे यह विचार आया कि यह "एक्शन" फ़ाइल में टेम्प्लेट कॉल को मैप करता है। लेकिन विवरण और कारण बस मुझसे बचते हैं!

किसी भी तरह, मैंने मौजूदा django ऐप से यूआरएल संरचना का इस्तेमाल किया, (जहां मैं छोटी लिपि को एकीकृत कर रहा हूं)

तो, ऐप। [यादृच्छिक-उद्धरण]। {random_quotes} [फ़ाइल नाम है] और {फ़ंक्शन नाम है}

अनुप्रयोग। मुझे यकीन नहीं है लेकिन मुझे लगता है कि मेरे django ऐप के भीतर उप फ़ोल्डर को संदर्भित करता है। मुझे लगा कि यह ऐप होगा। जैसा कि urls.py में मैंने उस फ़ोल्डर में फ़ाइलों के संदर्भ की खोज की।

किसी अजीब कारण से, स्क्रिप्ट काम नहीं करती है, यह कुछ भी प्रदर्शित नहीं करती है ... इसलिए मैं अनुमान लगा रहा हूं कि समस्या का पहला भाग r'^$' होना चाहिए और यह तथ्य कि मैंने url निर्दिष्ट नहीं किया है।

कृपया मुझे इस अवधारणा को समझने में मदद करें ...

0
user796443 15 जून 2011, 21:53
1
एक बिल्कुल अच्छा ट्यूटोरियल है। क्या तुमने यह पढ़ा?
 – 
Daniel Roseman
15 जून 2011, 21:59
यह एक पायथन मॉड्यूल में एक फ़ंक्शन का जिक्र कर रहा है। आप मॉड्यूल को यादृच्छिक-उद्धरण नहीं कह सकते, क्योंकि इसका अर्थ है यादृच्छिक (ऋण) उद्धरण। यदि आपने पहले कभी पायथन का उपयोग नहीं किया है, तो आप पहले एक पायथन ट्यूटोरियल पर नज़र डालना चाहेंगे - यह जटिल नहीं है, लेकिन यह PHP से बहुत अलग है।
 – 
Thomas K
15 जून 2011, 22:06
थॉमस के मैंने हटा दिया - माइनस अब मेरे पास randomquotes.py है और: url(r'^$', app.randomquotes.random_quotes, name='random_quotes'), अभी भी काम नहीं करता है :(
 – 
user796443
15 जून 2011, 22:29

1 उत्तर

सबसे बढ़िया उत्तर

ट्यूटोरियल यहां क्या हो रहा है, इसकी एक उत्कृष्ट व्याख्या प्रदान करता है।

संक्षेप में, कोई भी URL जो urls.py में रेगुलर एक्सप्रेशन से मेल खाता है, उसे view.py में निर्दिष्ट फ़ंक्शन से मैप किया जाएगा। view.py किसी भी आवश्यक तर्क को निष्पादित करेगा, और एक टेम्पलेट लोड करेगा (यदि निर्दिष्ट है)।

2
George Cummins 15 जून 2011, 22:07
एचएम, लेकिन मुझे कहीं भी view.py दिखाई नहीं दे रहा है... मुझे लगा कि यह इस टेम्पलेट की तरह है -> urls.py -> someaction.py
 – 
user796443
15 जून 2011, 22:34
यह तब बनाया जाएगा जब आप python manage.py startapp <your_app_name> चलाएंगे। क्या आपने उस पद्धति का उपयोग करके अपना आवेदन बनाया था?
 – 
George Cummins
15 जून 2011, 22:36
हां मुझे ऐसा लगता है। मेरे द्वारा किए गए चरणों में, इसे काम करने के लिए मुझे क्या याद आ रहा है?
 – 
user796443
15 जून 2011, 23:15
अनुलेख मैंने पहले उस ट्यूटोरियल को पढ़ा, लेकिन यह स्पष्ट नहीं करता कि मेरी स्क्रिप्ट काम क्यों नहीं करती है।
 – 
user796443
15 जून 2011, 23:15
Views.py एप्लिकेशन डायरेक्टरी में रहेगा। अपने प्रोजेक्ट और इसमें शामिल अनुप्रयोगों के बीच अंतर को ध्यान में रखें। यह देखने के लिए कृपया 'random_quotes' निर्देशिका में देखें कि क्या view.py फ़ाइल वहां मौजूद है (आपको init..py, model.py, और test.py भी देखना चाहिए)। अगर आपको वहां फाइलें नहीं दिखाई देती हैं, तो मैंने ऊपर बताए गए ऐप-क्रिएशन कमांड को फिर से चलाएँ।
 – 
George Cummins
15 जून 2011, 23:25