मैं कुछ स्टैंडअलोन स्क्रीन scraping लिपियों में Django ORM उपयोग करने के लिए कोशिश कर रहा हूँ एक स्टैंडअलोन लिपि में Django ORM का प्रयोग करें। मुझे पता है कि इस सवाल से पहले पूछा गया है, लेकिन मैं अपनी विशेष समस्या के लिए एक अच्छा समाधान समझने में असमर्थ हूं।(फिर)
मैं परिभाषित मॉडल के साथ एक Django परियोजना है। मैं जो करना चाहता हूं वह इन स्क्रैपिंग स्क्रिप्ट में इन मॉडलों और ओआरएम का उपयोग करना है।
project
scrape
#scraping scripts
...
test.py
web
django_project
settings.py
...
#Django files
मैं project/scrape/test.py
में निम्न कार्य की कोशिश की: मेरे निर्देशिका संरचना कुछ इस तरह है
print os.path.join(os.path.abspath('..'), 'web', 'django_project')
sys.path.append(os.path.join(os.path.abspath('..'), 'web', 'django_project'))
print sys.path
print "-------"
os.environ['DJANGO_SETTINGS_MODULE'] = 'django_project.settings'
#print os.environ
from django_project.myapp.models import MyModel
print MyModel.objects.count()
हालांकि, मैं एक ImportError
मिलता है जब मैं test.py चलाने का प्रयास:
Traceback (most recent call last):
File "test.py", line 12, in <module>
from django_project.myapp.models import MyModel
ImportError: No module named django_project.myapp.models
एक समाधान मैं इस समस्या को हल पाया खरोंच फ़ोल्डर में ../web/govcheck
करने के लिए एक प्रतीकात्मक कड़ी बनाने के लिए है:
:scrape rmanocha$ ln -s ../web/govcheck ./govcheck
इस के साथ
, मैं तो ठीक test.py चला सकते हैं। हालांकि, यह एक हैक की तरह लगता है, और सबसे महत्वपूर्ण बात यह है कि, बहुत पोर्टेबल नहीं है (मुझे यह कोड चलाने के लिए हर जगह यह प्रतीकात्मक लिंक बनाना होगा)।
तो, मैं अगर कोई मेरी समस्या के लिए किसी भी बेहतर समाधान है सोच रहा था?
धन्यवाद - कि काम करता है। –