[Python-de] Schoenheitsfrage
Fritz Cizmarov
fritz at sol.at
Die Jul 6 22:23:48 CEST 2004
Hi Julian,
ich hab mal im Pythonforum einen groben Entwurf für eine Klasse, die
html erzeugt gepostet.
#-------------------------------------------------------------------
site_template = """<?xml version="1.0"?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"\n"http://www.w3.org/TR/html4/loose.dtd">\n<html>
<head>
<title>%(title)s</title>
<link rel="stylesheet" type="text/css" href="%(stylesheet)s"/>
</head>
<body>
%(header)s
<div align="center">
%(content)s
</div>
%(footer)s
</body>
<html>"""
site_header = ""
site_footer = """<div align="center"><span class="copyright">
<a href="mailto:%(master_mail)s"
target="inhalt">%(master_mail)s</a>
</span></div>"""
class Site(object):
__slots__ = ["site_vars"]
base_vars = {"site" : site_template,
"title" : "Pythonseite",
"stylesheet" : "stdandart.css",
"header" : site_header,
"content" : "",
"master_mail" : "du at irgendwo.net",
"footer" : site_footer}
content_type = "Content-Type: text/html\n\n"
def __init__(self, **kw):
self.site_vars = self.base_vars.copy() # grundeinstellungen
self.site_vars.update(kw) # übergebene Variablen einfügen
def __str__(self):
site = self.site_vars["site"] % self.site_vars
return self.content_type + site % self.site_vars
if __name__ == "__main__":
s = Site(content="Hallo Welt") # hier kann auch der Titel geändert
werden.
print s
--------------------------------------------------------------------
site_template würde ich bei einer konkreten Anwendung aus einer
Datei auslesen, das währe dann auch eine mögliche Anwendung von
Metaclassen.
Gruß
Fritz
Am Tue, 06 Jul 2004 18:21:57 +0200
Schrieb Julian Rath <rath at abacon.net>:
> Hallo,
> Ich schreibe hier wegen einer Formfrage, ich schreib seit etwa 2
> wochen cgi scripts, aber eines hab ich bis jetz noch nicht gelesen.
> Wie gestatltet man diese am schoensten? Auf jeden fall muss ich den
> code sammeln und am schluss ausgeben, damit ich auch noch Cookies
> loeschen und zuweisen kann. Und wie holt man sich am besten die post
> /get daten? Ich hab diese probleme zwar schon geloest aber wie macht
> das ihr?
>
> def __init__(self, title, linkref, stylesheet):
> self.linkref = linkref
> self.title = title
> self.code = '''<?xml version="1.0"?>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
> Transitional//EN"\n"http://www.w3.org/TR/html4/loose.dtd">\n<html><he
> ad><link rel="stylesheet" type="text/css" href="' + stylesheet + '"
> type="text/css" /><title>''' + title +
> '</title></head><body><!--layout--><!--/layout--></body></html>'''
>
> def layoutCreate(self,banner,menu,footer):
> code='<!--layout--><div align="center"><table
> class="layout"><tbody class="layout">'
> if banner:
> code = code + '<tr class="layout"><td colspan="2"
> class="layout"><!--banner--><!--/banner--></td></tr>'
> code = code + '<tr class="layout">' # die mittlere tabelrow
>
> _______________________________________________
> python-de maillist - python-de at python.net
> http://python.net/mailman/listinfo/python-de