2011-04-09 4 views

उत्तर

5

ठीक है, मैंने अभी तक एक महाकाव्य साहसिक कार्य किया है, जिसकी कहानी आपके लिए कुछ उपयोग हो सकती है। कहा गया साहसिक कार्य का अंत बिंदु django-cms 2.1.3 django-filebrowser-no-grappelli के साथ काम कर रहा था। जबकि वास्तव में आप जो चाहते हैं उसके विपरीत की तरह लग सकते हैं, मैं वहां समाप्त हुआ क्योंकि मैं वास्तव में चाहता था कि फाइलब्रोसर के साथ काम कर रहे django-cms प्राप्त करें। Grappelli के बिना मानक django-filebrowser अपेक्षित के रूप में काम नहीं करता है। लेकिन grappelli django-cms के साथ उम्मीद के रूप में काम नहीं करता है। तो उसमें शेक्सपियर उद्धृत करने के लिए रगड़ डालना। फाइलब्रोसर के साथ काम कर रहे django-cms प्राप्त करना इस तथ्य को छोड़कर अपेक्षाकृत सीधे आगे था कि फ़ाइल संवाद में फ़ाइलों का चयन करने के बाद अपलोडिफ़ी (जिसे फ़ाइलब्रोसर के साथ भेज दिया गया है) के साथ फ़ाइलों को अपलोड करने का प्रयास करते समय, कुछ भी नहीं हुआ। आखिरकार मुझे पता चला कि ऐसा इसलिए था क्योंकि jquery लाइब्रेरी को दो बार लोड किया जा रहा था: एक बार फाइलब्रोसर द्वारा अपलोडिफ़ाई के उपयोग के लिए, और एक बार django-cms द्वारा। तो इस फाइल में दूसरी पंक्ति बाहर टिप्पणी करके:

अपनी साइट संकुल dir/सेमी/टेम्पलेट्स/सेमी/उपकरण पट्टी/toolbar.html

जो jquery.min.js लोड करता है, uploadify अपेक्षा के अनुरूप काम किया। Soooo ... यदि आप सिर्फ django-cms grappelli के साथ काम करना चाहते हैं तो आप फ़ाइलब्रोसर का उपयोग कर सकते हैं, उपर्युक्त सहायक हो सकता है। Here संदर्भ के लिए मेरी सेटिंग्स फ़ाइल है।

+0

आपके उत्तर के लिए धन्यवाद। मेरे लिए फाइलब्रोसर grappelli का उपयोग करने का एक कारण है;)। हालांकि मुझे एक बार इस मुद्दे का सामना करना पड़ा है। यह नहीं कह सकता कि यह एक काफी महाकाव्य साहसिक था :) लेकिन इसे ठीक करने में कुछ समय लगा। तो मैं सिर्फ अपने slick यूआई के लिए grappelli का उपयोग करना चाहता हूँ। – ivanperelivskiy

+1

वैसे हाँ यह ठीक करने के लिए एक whlie लिया क्योंकि इस तरह के कोई जावास्क्रिप्ट त्रुटियां नहीं थी, इसलिए डीबग करना मुश्किल था। लेकिन यह मेरे लिए अभी हुआ कि अपलोड करने के लिए अंतर्निहित कारण jquery दो बार लोड होने के कारण काम नहीं कर रहा है यह तथ्य है कि django-cms टूलबार व्यवस्थापक इंटरफ़ेस में दिखाई दे रहा था लेकिन केवल फ़ाइलब्रोसर विंडो में। मुझे संदेह है कि जब आप व्यवस्थापक में हों तो टूलबार भी दिखाना नहीं चाहेगा। तो यह पता लगाने के लिए एक बेहतर फिक्स हो सकता है कि टूलबार पहली जगह क्यों दिख रहा है और फिर ऐसा होने से रोकें। एनीवे हमें बताएं कि आप django-cms + grappelli के साथ कैसे जाते हैं ... – eedeep

+0

बस उपरोक्त पर एक अपडेट .. django-cms टूलबार दिखा रहा था क्योंकि मैंने गलती से url (r '^ filebrowser /', शामिल है ('filebrowser .urls ')) यूआरएल के अलावा (आर'^admin/filebrowser/', शामिल हैं (' filebrowser.urls '))। मुझे जरूरी था कि बाद वाला था। हालांकि मुझे TinyMCE और filebrowser और django-cms टूलबार के साथ एक समान समस्या मिली, जिसे मैंने [यहां] (http://bit.ly/eXzjH3) – eedeep

0

मैं एक बार एक django-cms fork on github कि grappelli का समर्थन करता है बनाया है दे, यह थोड़ा पुराना है, लेकिन हो सकता है में मदद करता है आप शुरू करना चाहते हैं या probaly जिसे आप योगदान देना चाहते हैं।

+0

करने के लिए जाना Django-सेमी पृष्ठों को संपादित करने के लिए? – ivanperelivskiy

+0

पता नहीं कि आपका क्या मतलब है, कांटा एक स्टैंडअलोन ऐप है .... –

+2

बेशक यह है। मेरा मतलब है कि थोड़ा अलग अर्थ में एक स्टैंडअलोन। उदाहरण के लिए, आपको grappelli का उपयोग करने के लिए contrib.admin फोर्क नहीं है, है ना? मोटे तौर पर बोलते हुए, यह contrib.admin के शीर्ष पर काम कर रहे स्वतंत्र ऐप है। contist.admin अभी भी काम करता है, जबकि आप इसे INSTALLED_APPS में प्राप्त कर सकते हैं या नहीं। और django रास्ता यह है, मुझे लगता है। तो मेरा सवाल इस तरह से एक ऐप बनाने के बारे में था। – ivanperelivskiy

2

मेरा समाधान 2 सबडोमेन, 'www' और 'cms' को लागू करना है, जिनमें से प्रत्येक में Django साइट का एक अलग उदाहरण एक अलग STATIC_ROOT और एक संशोधित INSTALLED_APPS के साथ चल रहा है। grappelli 'www' सबडोमेन में चलाता है। यह 'सीएमएस' सबडोमेन में नहीं चल रहा है, ताकि आप वहां django-cms का उपयोग कर सकें। cms.example.com

  • इस उप डोमेन सेवा करने के लिए अपने वेब सर्वर संशोधित करें:

    • एक उप डोमेन सेट करें। अपनी मुख्य django साइट के समान सेटिंग्स का उपयोग करें लेकिन एक अलग स्क्रिप्ट हैंडलर को इंगित करें। जैसे यदि wsgi का उपयोग सर्वर को wsgi_cms.py

    • cp wsgi.py wsgi_cms.py चलाने के लिए सर्वर को निर्देशित करें। wsgi_cms.py संपादित करें और परिवर्तन लाइन

      os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings_cms")

    • settings_cms.py रहे हैं:

    :

    from settings import * 
    
    INSTALLED_APPS.remove('grappelli.dashboard') 
    INSTALLED_APPS.remove('grappelli') 
    STATIC_ROOT = os.path.join('/what/ever/static_cms/') 
    STATIC_URL = '/static_cms/' 
    ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/` 
    
    • संशोधित settings.py: बदलएक सूची मेंएक टपल से

    • पुनः आरंभ वेब सर्वर

    • ./manage.py collectstatic --settings=myproject.settings_cms

    • आपकी नियमित साइट सामान्य रूप में जारी है।साथ grappelli विकलांग Django-सेमी कांटा करने के लिए नहीं यह संभव है, लेकिन स्टैंडअलोन ऐप्स बनाने http://cms.example.com/admin/cms/page/

  • +0

    के बारे में चर्चा शुरू की है क्या यह समाधान django-cms का उपयोग करने में परिणाम देता है grappelli त्वचा? आम तौर पर grappelli django-cms के साथ काम करता है जब तक आप पृष्ठों को संपादित करना प्रारंभ नहीं करते ... –

    +0

    नहीं, क्षमा करें अगर मेरा उत्तर स्पष्ट नहीं था। मेरा समाधान 2 डोमेन बनाता है - www.example.com जो व्यवस्थापक में grappelli का उपयोग करता है, और cms.example.com जिसमें नियमित django व्यवस्थापक इंटरफ़ेस है। चूंकि django-cms का पूरा बिंदु पृष्ठों को संपादित करना है, और चूंकि grappelli इसे तोड़ता है, इसलिए मैं इस बात से सहमत नहीं हूं कि "आम तौर पर grappelli django-cms के साथ काम करता है"। – scytale

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

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