Simple Pythonic HTML Creator
Project description
Ultra simple and works
Compatible with Python3/ 2.x
Pythonic
>>> adiv = tf.DIV("Hello World!", id="header_1", Class="header")
>>> print (adiv)
<DIV id="header_1" class="header">Hello World</DIV>
Examples
Hello World!
>>> import sphc
>>> tf = sphc.TagFactory()
>>> header = tf.H1("Hello World!")
>>> print(header)
<H1>Hello World</H1>
Constructing a page
>>> doc = tf.HTML()
>>> doc.body.content = tf.H1("The content")
>>> print(doc)
<HTML>
<BODY>
<H1>The content</H1>
</BODY>
</HTML>
Using list of Tag objects
Especially usefule for constructing tables and select options
>>> data = [('One', '1'), ('Two', '2'), ('Three', '3')]
>>> atable = tf.TABLE()
>>> for element in data:
>>> row = tf.TR()
>>> row.cells = [tf.TD(element[0]), tf.TD(element[1])]
>>> atable.row = row
Wrapping
>>> block1 = tf.DIV(tf.DIV("content", Class="inner"), Class="outer")
>>> block2 = tf.DIV([tf.DIV(), tf.DIV()], Class="outer")
>>> content = tf.DIV([block1, block2])
Chaining
set_required method below sets required property on Tag object AND returns Tag object
>>> form = tf.FORM()
>>> form.username = tf.INPUT(name="username").set_required()
>>> print(form)
<FORM>
<INPUT name="username" required/>
</FORM>
Properties with no value required
>>> c = tf.INPUT(None, 'checked', type='checkbox', value='foo')
>>> print(c)
<INPUT checked type="checkbox", value="foo"/>
Escaping
>>> print(tf.C(' >> ')) # Default
>>> <C> >> </C>
>>> print(tf.C(' >> ', escape=False))
>>> <C> >> </C>
More
Well since you reached here it’s time to show some experimental stuff.
Hello sphc.more
>>> import sphc.more
>>> tf = sphc.TagFactory()
>>> class MyPage(sphc.more.HTML5Page):
def footer(self):
return tf.FOOTER("Footer text")
>>> my_page = MyPage()
>>> my_page.render()
This will return a string that would contain html exactly like what you have expected
Building a form
>>> import sphc
>>> import sphc.more
>>>
>>> tf = sphc.TagFactory()
>>>
>>> form = sphc.more.Form(classes=['vform'])
>>> form.add_field('Username', tf.INPUT(type="TEXT", id='username', name="username").set_required())
>>> form.add_field('Password', tf.INPUT(type="password", id='password', name="password"))
>>> form.add_buttons(tf.BUTTON("Log In", id='login-btn', type='button'))
>>> print form.build()
<FORM method="POST" Class="vform">
<DIV Class="field">
<DIV Class="field-label"> <LABEL For="username">Username</LABEL></DIV>
<DIV Class="field-input">
<INPUT required type="TEXT" name="username" id="username"></INPUT><C>*</C>
</DIV>
</DIV>
<DIV Class="field">
<DIV Class="field-label"> <LABEL For="password">Password</LABEL></DIV>
<DIV Class="field-input">
<INPUT type="password" name="password" id="password"></INPUT>
</DIV>
</DIV>
<DIV Class="action-status"></DIV>
<DIV Class="buttons">
<BUTTON type="button" id="login-btn">Log In</BUTTON>
</DIV>
</FORM>
Form with fieldsets
>>> form = sphc.more.Form()
>>>
>>> about = form.add(sphc.more.Fieldset())
>>> about.add(sphc.tf.LEGEND('About'))
>>> about.add_field('Name', sphc.tf.INPUT(name='name', type='text'))
>>>
>>> contact = form.add(sphc.more.Fieldset())
>>> contact.add(sphc.tf.LEGEND('About'))
>>> contact.add_field('Name', sphc.tf.INPUT(name='name', type='text'))
Source
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sphc-1.0a.tar.gz
(6.1 kB
view details)
File details
Details for the file sphc-1.0a.tar.gz
.
File metadata
- Download URL: sphc-1.0a.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd21e8e04aab6b00cb580e7c9ea9b5ed724e1c0d047606c89213e8219357238c |
|
MD5 | 91d09bde60cb59e7c0ce6f279fcf6442 |
|
BLAKE2b-256 | 90d696f9991334f9299484963b33fc78aa1c898dcdce47847872837734ccedc6 |