سؤال
لقد استخدمت الصفوف. 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>'