الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشروع جماعي : تطبيق BottlePaste

مثبّترائج
بدأه a.atalla في 28 أبريل 2013 · 156 رد · 13,739 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#51

اي جزئية تريد أن يعرض فيها ال sidebar يجب ان يوجد فيها متغير last5 وذلك المتغير يشمل آخر ٥ إضافات

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#52

نعم انا وضعت الكود الخاص بالسايدي بار في سكربت base.html

 

بقي فقط المتغير صراحة مدافهم هل تقصد هذا

 

ومع اي دالة اضعها ام انشأ له دالة خاصة به

 

   last_five= lambda : last(5)

salah.jpg

#53

أنسى المتغير

 

قم بعمل إستعلام عبر SQLAlchemy للحصول على آخر ٥ عناصر تم إضافتها وأسند قيمته إلى last5 واستخدمها في ال sidebar

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#54

ان شاء الله

salah.jpg

#55

last5  متغير من نوع   List   اليس كذلك ?

#56

صراحة ﻻ اعرف , اغير جوابي !

تم تعديل هذه المشاركة بواسطة MuStafa - HaSsan في 2 مايو 2013 في 23:36

salah.jpg

#57
a.atalla كتب:

last5  متغير من نوع   List   اليس كذلك ?

 

تستطيع إعتبارها list ولكن في الحقيقة هي نوع بيانات iterable تستطيع إستخدام for معه كأنه list 

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#58

ولماذا يكون من نوع list : هل ستكون النتائج على شكل list

salah.jpg

#59

ناتج إستعلام من sqlalchemy سيكون مجموعة من الكائنات تستطيع إستخدام حلقة for عليها

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#60

جيد اﻻن اصبح مفهوم

salah.jpg

#61
def last_five_public():
	s1=Session()
	q = s1.query(DBMODEL).all()[0:5]
	return q
@route("/")
def home():
	frm = PasteForm()
	last5 = last_five_public()
	return template('templates/home.html',form=frm,last5=last5)

 

بقي عمل  route  للروابط  view/{{p.id}}

     <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>
#62

كذلك جزئية الـ sidebar  في التصميم  تظهر لي أسفل الفوم وليس علي اليمين  :) 

#63

الله ينور، 

 

قم بعمل push لآخر التعديلات حتى أستطيع المتابعة والنظر في قصة ال sidebar

تم تعديل هذه المشاركة بواسطة ahmed_youssef في 3 مايو 2013 في 11:58

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#65

ماشاء الله سبقتني اخي احمد في اﻻستعلام ,, ﻻكن اخي لماذا لم تضعه على template base.html

ﻻنه هو المسؤل عن الواجهة !!

تم تعديل هذه المشاركة بواسطة MuStafa - HaSsan في 3 مايو 2013 في 15:43

salah.jpg

#66

base.html  قالب عام يتم وراثته من القوالب اﻷخري ولذا لا يوضع فيه إلا الكود المكرر في كل صفحات التطبيق

#67

صحيح لم انتبه الى

 

 

{% extends 'base.html' %}

salah.jpg

#68

اﻻن بقي فقط الروابط , وروابط المشاركة

 

بحيث يكون رابط للمشروع !!

salah.jpg

#69

سوف اضيف له خاصية اكمال الامر عن طريق الضغط على  , tap مارايكم ؟

ﻻكن المشكلة كيف يمكنني ان اضهر قطعة صغيرة فيها اسم الدالة الذي يريد ان يكتبها ليضغط على تاب ويكملها ؟ هل من حل لها

تم تعديل هذه المشاركة بواسطة MuStafa - HaSsan في 3 مايو 2013 في 23:41

salah.jpg

#70
MuStafa - HaSsan كتب:

سوف اضيف له خاصية اكمال الامر عن طريق الضغط على  , tap مارايكم ؟

ﻻكن المشكلة كيف يمكنني ان اضهر قطعة صغيرة فيها اسم الدالة الذي يريد ان يكتبها ليضغط على تاب ويكملها ؟ هل من حل لها

 

لاأفهمك

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#71

ﻻ يحتاج , انا حتى لو اضفت له خاصية اﻻكمال , لن يفيد , ﻻن المستخدم راح يعمل copy+paste to code

 

لن يقوم بالكتابة ؟؟

salah.jpg

#72

تم تعديل بعض أجزاء الكود  , استخدمت  DateTime  بدلا من Date  في حقل  publishdate 

 

وتم معالجة روابط القائمة الجانبية   لكن للأسف تظهر الصفحة غير منسقة  رغم أني أستخدم نفس القالب  result.html   

بمعني أنه عند لصق كود جديد يعرض في القالب result.html  بشكل منسق وملون  كما نريد

لكن عند اختيار كود من اخر خمسة في القائمة الجانبية وعرضه في نفس القالب  يظهر كما بالصورة 

 

post-232044-0-62211800-1367652256_thumb.

 

كذلك  نقلت  دالة hilightcode  خارج  DBMODEL  حتي يتسني لي استخدامها بحرية 

@route('/view/<n:int>')
def view(n):
	frm = PasteForm(request.POST)
	s2=Session()
	q = s2.query(DBMODEL).filter_by(id=n).first()
	
	
	frm.codetitle.data = q.title
	frm.codeauthor.data = q.author
	frm.codebody.data=q.code
	
	code = highlighted_code(q.code,q.language)
	return template('templates/result.html',form=frm,code=code)

 

تعديل اﻷستعلام عن اخر  خمس مدخلات 

 

def last_five_public():
	s1=Session()
	q = s1.query(DBMODEL).order_by((DBMODEL.publishdate.desc())).limit(5)
	return q

 

نقل كود انشاء قاعدة البيانات لأول مرة إلي  home 

 

@route("/")
def home():
	if not os.path.isfile('bottlepaste.db'):
		Base.metadata.create_all(engine)
	frm = PasteForm()
	last5 = last_five_public()
	return template('templates/home.html',form=frm,last5=last5)

 

 

تم الدفع للمستودع 

تم تعديل هذه المشاركة بواسطة a.atalla في 4 مايو 2013 في 10:36

#73

في الكود النهائي الان  لدينا  دالتين      view/id  و new   لعرض الكود الملون أحدهما عند لصق الكود لأول مرة والثانية عند استدعاء كود قديم من قاعدة البيانات 

أظن أنه يجب دمجهما في دالة واحدة   view/id   بمعني أنه عند اللصق لأول مرة يجب استخدام  id أيضا  .....أليس كذلك ؟؟

#74

ما كان هدفك عندما استخدام datetime هل ﻻضهار الوقت , ومالمشكلة هل لم يضهر لديك ام مشكلتك التمبلت ﻻ يضهر تنسيقاته ,, ممكن توضح اكثر

salah.jpg

#75

عندما لم استخدم time  لم يكن يجلب  أخر خمس عمليات  ولكن أي خمس عمليات من نفس اليوم اضافة الوقت تتيح الترتيب بالثانية :)

نعم تنسيقات التمبلت تظهر في حالة ولا تظهر في حالة اخري (لنفس التمبلت)

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…