- مشروع جماعي : تطبيق BottlePaste
ناتج إستعلام من sqlalchemy سيكون مجموعة من الكائنات تستطيع إستخدام حلقة for عليها
- مشروع جماعي : تطبيق BottlePaste
تستطيع إعتبارها list ولكن في الحقيقة هي نوع بيانات iterable تستطيع إستخدام for معه كأنه list
- مشروع جماعي : تطبيق BottlePaste
أنسى المتغير قم بعمل إستعلام عبر SQLAlchemy للحصول على آخر ٥ عناصر تم إضافتها وأسند قيمته إلى last5 واستخدمها في ال sidebar
- مشروع جماعي : تطبيق BottlePaste
اي جزئية تريد أن يعرض فيها ال sidebar يجب ان يوجد فيها متغير last5 وذلك المتغير يشمل آخر ٥ إضافات
- مشروع جماعي : تطبيق BottlePaste
هذا في دالة index مثلا @route("/") def index(): last5=last_five_public() title="New paste" form= PasteForm() return template('templates/new.html', locals())
- ويكيبديا تنتقل إلى MariaDB
أكواد ال PHP تبث الحزن في نفسي :) ليست مفعلة في إعدادات configure افتراضيا ؟ ومالمشكلة والكثير كذلك! عندما تقوم بتنصيب PHP على خادمك تقوم بإعدادها كما يناسبك ليس أكثر وهذا الحال في الكثير من الخوادم mongolab, mongohq ربما تجد فيهم أسعار تناسبك انا للآن لم أنشئ…
- ويكيبديا تنتقل إلى MariaDB
أبكي :cry: كنت أظن أن المصطلحات المناظرة ل table هي document و ل database هي collection ؟ لماذا لاتستخدم dba (dbm) إذا تريدها حصرا على PHP ؟ http://www.php.net/manual/en/book.dba.php مع أن Mongo لايوجد بها مشاكل وسهلة الإعداد :hmm:
- مشروع جماعي : تطبيق BottlePaste
يوجد في ملف base.html قسم خاص لل sidebar <div class="span2"> <!--sidebar--> {%if last5 %} <hr /> <h3>Last pastes</h3> <hr /> <ul> {% for p in last5 %} <li class="paste-link"><a href="/view/{{p.id}}">{{p.title or 'UNTITLED'}}</a></li> {% endfor %} </ul> {% endi…
- ويكيبديا تنتقل إلى MariaDB
وجود مقطع "PHP" في الإسم كافي بصد الجميع عنها :P لأن الإنتقالة ستكون كبيرة وبدون عائد في رأيي الخاص. بخصوص الرخصة ، فمالفائدة أيضا ؟ مطوري ويكيبديا لن يقوموا بعمل منتجهم الخاص من قاعدة البيانات "هم أستخدموا نسخة معدلة من MySQL من تطوير Facebook"
- ويكيبديا تنتقل إلى MariaDB
تابع الخبر هنا https://blog.wikimedia.org/2013/04/22/wikipedia-adopts-mariadb/
- مشروع جماعي : تطبيق BottlePaste
@مصطفى: بخصوص التلوين أنظر هنا في ال model كيف قمت بتقديم مقترح للتلوين بصورة عامة يقوم بالتخمين إذا لايوجد حقل self.language في ال model def highlighted_code(self): lexer=None if self.language: try: lexer=get_lexer_by_name(self.language) except: lexer=None if…
- مشروع جماعي : تطبيق BottlePaste
الكل بيعمل على كل شئ!! ياشباب حد ملتزم بالتعامل مع قاعدة البيانات ياريت ينهي كل مايتعلق بيها والمسئول عن التلوين ياريت ينهي كل مايتعلق بيها هذا ملف مساعد لهيكلية ملف app.py لتقوموا بإكماله بما يناسب ... قمت بتوحيد الكود class DBMODEL: .... .... .... def highli…
- مشروع جماعي : تطبيق BottlePaste
جميل ولكن القصاصات لن تكون دائما بايثون يوجد وحدة pygments.lexers يوجد بها بعض الأشياء المفيدة مثل guess_lexer , get_lexer_by_name, get_all_lexers from pygments import highlight from pygments.formatters import HtmlFormatter from pygments.lexers import get_all_…
- مشروع جماعي : تطبيق BottlePaste
لاعلاقة لك بالألوان بالمرة ، كل علاقتك هي إستخدام مكتبة Pygments على نص معين ويعاد لك ملونا أنظر كيف تحصل على lexer حسب اللغة وكيف ستقوم بتلوين ذلك الكود عبر htmlformatter http://pygments.org/docs/quickstart/
- مشروع جماعي : تطبيق BottlePaste
ال raw هي GET request وليست POST لاتحتاج إلى template تحتاج للحصول على ال paste فقط وإرسالها داخل ال response ماذا تقصد ؟ يوجد ألوان إفتراضية ل pygments هي ماسيتم إستخدامها.
- مشروع جماعي : تطبيق BottlePaste
**h لتمرير المعاملات في صورة dictionary أنظر لهذا المثال >>> def func(*args, **kwargs): ... print "ARGS: ", args ... print "KWARGS: ", kwargs ... ... >>> h={} >>> h['Content-Type']='text/plain' >>> func(**h) ARGS: () KWARGS: {'Content-Type': 'text/plain'} >>> …
- مشروع جماعي : تطبيق BottlePaste
العرض ك raw يعني إرسال HTTPResponse مصحوب ب Content-Type=text/plain شئ مثل هذا @route('/raw/<n:int>') def raw(n): paste=get_paste(n) h={} h['Content-Type'] = 'text/plain' return HTTPResponse(paste.code, **h) المكافئ في pastebin انظر هنا هذه الصفحة الرئيسية لعر…
- مشروع جماعي : تطبيق BottlePaste
هذا كود HTML خاطئ دائما وأبدا عندما تنشئ template جديد اكتب فيه التالي {% extends "base.html" %} {% block content %} {% endblock %} وضع الكود الذي تريد بين {% block content %} {% endblock %}
- مشروع جماعي : تطبيق BottlePaste
أنا كتبته لي ليس أكثر، سأكمل معكم خطوة بخطوة قم بتصميم الفورم كما هو مقترح في النموذج لاأوافق، الموقع لايدعم فكرة تسجيل المستخدم ، ربما لاحقا عبر twitter او facebook لكن للآن لايوجد سوى model لCodePaste class PasteForm(Form): تشمل حقول author, title, language,…
- مشروع جماعي : تطبيق BottlePaste
مميزات مطلوبة لهذه المرحلة 1- إمكانية عرض صفحة الكود raw 2- إمكانية التحميل 3- آخر الإضافات * أي تعديلات خاصة بال css قم بوضعها في ملف public/css/site.css لاتقم بإضافة ستايلات داخل الكود الform يجب أن تكون مكتوبة ب WTForms وكذلك أسماء اللغات يجب أن تكون عامة ع…