2011-08-08 27 views
12

Vikipedi benzeri bir projeyle ilgileniyorum. İşaret dosyasını kullanarak metin dosyasını html koduna dönüştürebilirim. Benim sorunum, bu html kodunu bir html dosyasında oluşturmak istiyorum. İşte benim kod, ben ARTICLE_NAME ve vücut (html kodu) article_files.html için geçiyorumWeb.py'de HTML Oluşturma

class articles: 
    def GET(self): 
     form_name=web.input() 
     article_name=form_name.page 
     article_file_path=os.path.join('articles',article_name) 
     fp = open(article_file_path,'rU') 
     text = fp.read() 
     body = markdown2.markdown(text) 
     return render.article_files(article_name, body) 

olduğunu. Gövde, gövdedeki gibi görünür. Sorun şu ki, gövde olduğu gibi görüntülenir. Bu, tüm etiketlerle ekranda html kodu yazdırılır. Ben Ajay

Benim HTML dosyasıdır Welcome bu html kodunu (gövde) gibi

Hai
işlemek istiyorum:

$def with(title,content) 
<html> 
<head> 
<title>$title</title> 
</head> 
<body> 
    <form name="form" method="GET"> 
     $content 
    </form> 
</body> 
</html> 

cevap

11

HTML öncelenimi web varsayılan olarak açıktır. p şablonları. Kapatmak için, iki nokta üst üste ile değişken adı prepend:

<form name="form" method="GET"> 
    $:content 
</form> 

sizin çıkış kullanılmayan şablonlar içine rastgele HTML beslemek için bir potansiyel olarak zararlı bir kullanıcı için bir yolu yoktur emin olun.

+0

Teşekkür HELGI. Kod şimdi çok iyi çalışıyor. –

2

Tarayıcıya gönderdiğiniz mime type numarasını belirtmeniz gerekir, aksi halde nasıl görüntüleneceğini bilmezsiniz.

Sen fonksiyona following line ekleyerek bunu yapabilirsiniz:

web.header('Content-Type', 'text/html') 
+1

Eminim ki Ajay, tüm sayfadan değil, hecelenen _body_ (i.e., h1' ve 'p') hakkında konuştuğundan eminim. – Helgi

+0

Neden downvotes emin değilim. Sadece vücut işlenmemiş olsa bile, bu hala yararlıdır. Benim problemim çözüldü, oy verildi. – sqram