2011-10-17 21 views
11

आयात नहीं कर सकता है अगर मैं उन हैंडलर को टिप्पणी करता हूं जो djangoforms का उपयोग करते हैं तो बाकी सब कुछ काम करता है।Google ऐप इंजन, पायथन 2.7 रनटाइम, आयात त्रुटि: नाम djangoforms

पीछा कर रहा है मेरी संशोधित app.yaml:

import os 
# dummy, enables django template filters to be registered 
os.environ[u'DJANGO_SETTINGS_MODULE'] = u'conf' 
#` -2 
# from google.appengine.dist import use_library 
# use_library('django', '1.2') 

from functools import wraps 
from appengine_utilities.cache import Cache 
from google.appengine.api import taskqueue 
from google.appengine.ext.db import djangoforms 
... 

यहाँ ट्रेस मेरी लॉग से वापस आ गया है: Traceback

application: xxxxxxx 
version: 5 
#` -1+1 
# runtime: python 
runtime: python27 
api_version: 1 

inbound_services: 
- mail 

#` +3 
libraries: 
- name: django 
    version: "1.2" 

handlers: 
- url: /(.*\.(html|css|js|gif|jpg|png|ico)) 
    static_files: static/\1 
    upload: static/.* 
    expiration: "1d" 
    # expiration: "1m" 

- url: .* 
    script: main.py 

- url: /_ah/mail/.+ 
    script: lib/handler_mail.py 
    login: admin 

निम्नलिखित है कि मैं संशोधित main.py से अंश है (सबसे हालिया कॉल अंतिम): फ़ाइल "/base/data/home/apps/s~cirrussecure1/5.354034990641807540/main.py", लाइन 23, में google.appengine.ext.db आयात djangoformsसे फ़ाइल करेंImportError: नाम आयात नहीं कर सकते djangoforms

कुछ मैं कर रहा हूँ नहीं दूँगा मुझे आयात djangoforms लेकिन कुछ और प्रभावित नहीं करता। मैंने इसे गुगल किया लेकिन किसी और को कोई समस्या नहीं है (अभी तक?)। धन्यवाद।


@all एक समाधान है कि मुझे gae/अजगर 2.7 चल रहा है, लेकिन मैं यह या जिस तरह से गूगल रिहाई के इस भाग को संभाला पसंद नहीं है रहता मिले।

मैंने wtforms की कोशिश की और पर्याप्त प्रगति करने से पहले इसे gae/python 2.5 के साथ जाने की कोशिश कर कुछ प्रगति की।

मुझे तब djangoforms.py मिला (http://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/ext/db/djangoforms.py से), इसे मेरी फाइलों के साथ छोड़ दिया, और इसे जीई/पायथन 2.7 के साथ काम करने के लिए मिला।

मैंने ऊपर दिखाए गए app.yaml का उपयोग किया। दो टेम्पलेट फ़ाइलों में {{form_section}} को {{form_section | safe}} में भी बदलना पड़ा।

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

@google कृपया अपने, डॉक्टर, लेख, उदाहरण इत्यादि को अपडेट करें ताकि अन्य लोगों को एक दिन बर्बाद न करना पड़े।

+3

क्या आप इन देवताओं को अपने देव सैंडबॉक्स में देख पाएंगे? मैं उन्हें केवल उत्पादन में देखता हूं, लेकिन मेरा देव सैंडबॉक्स ठीक काम करता है, जो चीजों को डीबग करने के लिए परेशान है। – dfrankow

+0

मैं वर्तमान में इस समस्या में भी चल रहा हूं और मैं या तो अधिक django में पैच देख रहा हूं और www.jbuttonspressed.com का उपयोग करके पूर्वावलोकन आदि जैसे अधिक django रूपों को देख रहा हूं या निक जॉनसन की तरह कहते हैं कि एक विशिष्ट फॉर्म फ्रेमवर्क –

उत्तर

9

google.appengine.ext.db.djangoforms मॉड्यूल पायथन 2.7 के साथ प्रदान नहीं किया गया है। आप स्वयं को एक प्रतिलिपि में पैच कर सकते हैं, लेकिन एक बेहतर विचार आपके फॉर्म हैंडलिंग कोड को संशोधित करने के लिए संशोधित करना होगा - यह असमर्थित और स्पष्ट रूप से हैक का थोड़ा सा है।

+1

यह पुष्टि करने के लिए धन्यवाद मैं इसे वापस पकड़ने की कोशिश करने के बारे में सोच रहा था। मैंने django.forms का उपयोग करने की कोशिश की लेकिन मुझे मॉडलफॉर्म और मेटा काम करने में समस्याएं आ रही थीं (https://docs.djangoproject.com/en/dev/topics/forms/modelforms/) । कुछ उदाहरण बहुत उपयोगी होंगे। इसका पुन: कार्य शायद: http://code.google.com/appengine/articles/djangoforms.html? –

+1

@CirrusSecure मैं बस इसे टालने, और अलग रूपों और डीबी ढांचे का उपयोग करने का सुझाव दूंगा।उन्हें एकीकृत करना मुश्किल नहीं है, और मॉडलफॉर्म के पास हमेशा इसके आसपास कई प्रतिबंध और मुद्दे हैं। –

+1

@ निक जॉन्सन केयर इस बारे में अधिक गहन लेख या लेखन प्रदान करने के लिए? मैं ऐप-इंजन-पैच पर हूं और मुझे लगता है कि यह djangoforms का उपयोग करता है। उतरने में क्या शामिल है? – dfrankow

संबंधित मुद्दे