سؤال

لقد استخدمت الصفوف. xml () لإنشاء إخراج HTML. أريد أن أعرف كيفية إضافة رموز HTML إلى صفحة HTML التي تم إنشاؤها على سبيل المثال: "إضافة شعار ، ملف CSS ، .. إلخ"

rows=db(db.member.membership_id==request.args[0]).select(db.member.membership_id ,db.member.first_name,db.member.middle_name ,db.member.last_name) return rows.xml()

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

المحلول

هناك العديد من مساعدي HTML التي يمكنك استخدامها ، على سبيل المثال:

html_code = A('<click>', rows.xml(), _href='http://mylink')
html_code = B('Results:', rows.xml(), _class='results', _id=1)
html_page = HTML(BODY(B('Results:', rows.xml(), _class='results', _id=1)))

وهلم جرا.

يمكنك حتى إنشاء جدول كامل تلقائيًا:

table = SQLTABLE(rows, orderby=True, _width="100%")

ثم اخترها لإدراج الروابط أو تعديل عناصرها.

إنه قوي للغاية وعادة ما لا تضطر إلى أن تهتم بكتابة HTML الفعلية بنفسك. ها هي ورقة الغش, ، أو يمكنك التحقق مباشرة من وثائق الموقع.


تحرير: فقط للتأكد من أنك لست بحاجة فعليًا إلى إنشاء صفحة HTML بأكملها ، فمن الأسهل السماح لـ Web2Py بإدخال ردك في قالب له نفس اسم وحدة التحكم الخاصة بك (أو فرض قالب معين مع response.view = 'template.html'. سوف يشرح البرنامج التعليمي الوثائق ذلك بشكل أفضل وفي مزيد من التفاصيل.

بعبارة قليلة ، إذا كنت تنفذ الوظيفة index, ، يمكنك إما إرجاع سلسلة (الصفحة بأكملها HTML ، والتي يبدو أنها ما تتجه إليه) ، أو قاموس لاستخدام القوالب.

في الحالة الأولى ، فقط رمز وظيفتك مثل هذه:

def index():
    # ... code to extract the rows
    return HTML(BODY(B('Results:', rows.xml(), _class='results', _id=1))).xml()

خلاف ذلك ، اكتب قالب HTML في وجهات النظر/مراقب/index.html (أو ملف آخر إذا قمت بإدخال response.view=... في وظيفتك ، لإعادة استخدام نفس القالب) ، والتي يمكن أن تكون هكذا:

<html><head></head>
  <body>
    {{=message}}
  </body>
</html>

وإعادة القاموس:

def index():
    # ... code to extract the rows
    html = B('Results:', rows.xml(), _class='results', _id=1)
    return dict(message=html)

نصائح أخرى

ما عليك سوى الاستعداد/إلحاقها بالسلسلة rows.xml() عائدات:

html = '<html><head>...</head><body>' + rows.xml() + '</body></html>'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top