2014-05-22 20 views
0

這裏是views.py在django的html頁面中無法識別url變量。是越來越生成的HTML頁面動態

def home (request): 
     now = datetime.datetime.now() 
     t = get_template('index.html') 
     html = t.render(Context({'current_date': now})) 
     return HttpResponse(html) 

    def run(request, id): 
    table="" 
    table + = "<table> <tr> <td> <a href= \" /run/{{ id }} \" > "+ linkname + "</a></td></tr></table>" 
    return HttpResponse(table) 

這裏是urls.py

from mysite.views import run 
    urlpatterns = [ 
     url(r'^home/$',home ,), 
     url(r'^run/(?P<id>)$',run), 
    } 

在主頁用戶輸入參數,運行方法被調用,流程,參數,根據給定參數和生成表的響應動態生成表。該表包含一個鏈接,我試圖傳遞一個參數{{id}}。但是,當我點擊表格中的鏈接時,它會顯示以下錯誤: 當前網址運行/ {{id}}與任何這些網址都不匹配。

我是新來的Django,任何人都可以幫我

+0

爲什麼你不在'run'函數中使用HTML的實際模板? –

回答

1

這不是模板,這是Python字符串。所以,你需要使用字符串fromat

嘗試這種方式,

table + = "<table> <tr> <td> <a href= \" /run/{0} \" > "+ linkname + "</a></td></tr></table>".format(id) 

另一種方式:

from django.template import Context, Template 

def run(request, id): 
    table="" 
    table + = "<table> <tr> <td> <a href= \" /run/{{ id }} \" > "+ linkname + "</a></td></tr> </table>" 
    t = Template(table) 
    c = Context({"id": id}) 
    return HttpResponse(t.render(c)) 

注:我沒有找到linkname變量。所以Django會拋出一個錯誤。 Doc is here

+0

雅我忘了提及linkname變量。它簡單的python變量。我會檢查並告訴你它是否有效 – user3214392