سؤال

وأود أن أعرف ما إذا كنت يمكن أن تعرض وجهة نظر داخل رأي آخر مع جانغو.

وهذا ما حاولت القيام به:

def displayRow(request, row_id):
    row = Event.objects.get(pk=row_id)
    return render_to_response('row.html', {'row': row})

def listEventsSummary(request):
    listEventsSummary = Event.objects.all().order_by('-id')[:20]
    response = ''
    for event in listEventsSummary:
        response += str(displayRow('',event.id))
    return HttpResponse(response)

وإخراج يشبه ما كنت أتوقع ولكن كان لي لاستبدال قيمة الطلب مع سلسلة فارغة. هي أن الغرامة أم أن هناك طريقة أفضل للقيام بذلك؟

هل كانت مفيدة؟

المحلول

واستجابة HTTP تحتوي على رؤوس جنبا إلى جنب مع أتش تي أم أل، أو أي شيء آخر، وبالتالي لا يمكنك فقط إضافة لهم حتى مثل السلاسل.

وإذا كنت ترغب في modularize وظيفة وجهة نظركم، وبعد ذلك الإجراء الفرعي المكالمات تعود سلاسل ثم يمكنك أن تفعل ذلك بالطريقة التي تقترح

وربما في قضيتك أنه سيكون من الأفضل لوضع حلقة تظهر الصفوف في القالب، فإنك لن تحتاج إلى عرض من الباطن وحلقة في شاشة العرض الرئيسية الخاصة بك.

def listEventsSummary(request):
    listEventsSummary = Event.objects.all().order_by('-id')[:20]
    return render_to_response('stuff.html',{'events':listEventsSummary})

ووفي stuff.html

{% for event in events %}
    <p>{{event.date}} and whatever else...</p>
{% endfor %}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top