• 0
sharkawey

كيفية عمل تعدد الصفحات بلغ البايثون

سؤال

السلام عليكم 

انا الان صممت قالب ب ال html و ال css لكن اريد ان اعرف مثلا اذا حبيت ان اضيف صفحة جديدة اتوماتيكيا مثل زر اضافة موضوع في المنتديات مثلا كيف يمكنني عمل ذلك وشكرا ؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

9 إجابة على هذا السؤال .

  • 0

هل تستعمل اطار عمل معين في مشروعك ؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مش فاهم قصدك ب اطار عمل :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يعني Framework مثل جانغو

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ok

للتنبيه، خاصية تعدد الصفحات pagination يقصد بها تقسيم الكائنات المراد اظهارها على عدد معين من الصفحات
الكائنات objects يمكن ان تكون مواضيع ، تعليقات ، صور او اي شيء اخر
 
مثلا : عندك 10 مواضيع مخزنة في قاعدة  البيانات وتريد اظهارها في موقعك ، طبعا سيكون من غير اللائق ان تضعها كلها في صفحة واحدة ، باستعمال خاصية تعدد الصفحات يمكنك مثلا تحديد عدد المواضيع في كل صفحة ومنه يكون عدد الصفحات الناتجة هو 4 . 3/10 = 3*3 + 1
 
اذا فهمت الامر يمكن اشرح لك كيفية عمل ذلك بواسطة جانغو
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

فهمت ياريت شرح وكمان ياريت معلومات عن كيفية عمل ايضا زر انشاء موضوع جديد مثلا ؟ 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
كيفية عمل موضوع جديد  هو موضوع اخر له علاقة بالـ Forms و الـ models

اعطني قليلا من الوقت وستجد الشرح في المساء ان شاء الله لاني مستعجل حاليا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا لك خد وقتك اخي :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
عذرا على التاخير 
للاجابة على سؤالك يجب انشاء بعض الامور اولا.
 
سافترض انك على عمل بكيفية انشاء مشروع جديد بواسطة جانغو:
لذا انشئ مشروع اسمه dj_pagination مثلا كذلك تطبيق اسمه app
 
اولا لنفترض انك تريد عمل خاصية تعدد الصفحات لمقالات تريد اظهارها في موقعك.
لذا يجب عليك انشاء موديل تحدد فيه خصائص المقالة الواحدة 
اذا في ملف models.py سنقوم بانشاء المودل التالي
 
class Article(models.Model):	title = models.CharField(max_length = 200)	content = models.CharField(max_length = 200)
ثم سنقوم بعد ان تقوم بانشاء بعض المقالات وتحفضها في قاعدة البيانات
تقوم بجلب المقالات الاخيرة في الـ view الخاصة بها :
اذن في ملف الـ تكتب الكود التالي:
 
from app.models import Articlefrom django.shortcuts import render_to_response, RequestContextdef articles(request):	articles = Article.objects.all()	return render_to_response('articles.html', locals(), context_instance = RequestContext(request))

 

ما قمنا بعمله حتى هذه النقطة هو استدعاء جميع المقالات واظهارها دفعة واحدة في ملف articles.html

 

لكن نريد ان نظهر للمستخدم محتوى اكثر تنظيما ، لذا سنقوم باظهار كل 3 مقالات في صفحة مستقلة.
( لنفترض اننا انشانا 10 مقالات مسبقا )
جانغو يتيح عمل ذلك اوتوماتيكيا لربح الوقت وذلك كما يلي:
 
سنعدل الكود الذي كتبناه في الــ view السابقة :
 
from app.models import Articlefrom django.shortcuts import render_to_response, RequestContextfrom django.core.paginator import Paginator, EmptyPage, PageNotAnIntegerdef articles(request):	articles_list = Article.objects.all()	paginator = Paginator(articles_list, 3) # Show 3 articles per page	page = request.GET.get('page')	try:        articles = paginator.page(page)    except PageNotAnInteger:        # If page is not an integer, deliver first page.        articles = paginator.page(1)    except EmptyPage:        # If page is out of range (e.g. 9999), deliver last page of results.        articles = paginator.page(paginator.num_pages)	return render_to_response('articles.html', locals(), context_instance = RequestContext(request))

 

والان لم يبقى الا كتابة الكود الاخير لاظهار النتائج للمستخدم 
في ملف articles.html قم بكتابة الكود التالي:
 
{% for article in articles %}    {# Each "article" is an article model object. #}    {{ article.title|upper }}<br />    <hr/>      {{ article.content }}    ...{% endfor %}<div class="pagination">    <span class="step-links">        {% if articles.has_previous %}            <a href="?page={{ articles.previous_page_number }}">previous</a>        {% endif %}        <span class="current">            Page {{ articles.number }} of {{ articles.paginator.num_pages }}.        </span>        {% if articles.has_next %}            <a href="?page={{ articles.next_page_number }}">next</a>        {% endif %}    </span></div>

وفي الاخير انصحك بالتعمق اكثر في الدروس الاصلية  حتى تكسب خبرة اكثر

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .