2015-01-09 128 views
-1

我最近购买了一个HTML模板来创建我自己的网站。现在我试图在我的Django 1.7.1应用程序中逐步移植每个需要的HTML文件。到目前为止一切正常。在玩了一段时间之后,我决定做一些重构,特别是我有兴趣将HTML源代码的一部分转换为模板。如何使用HTML源代码在django中创建表格

让我们代表的注册表单的用户名输入一个例子:

<div class="form-group"> 
    <label class="control-label visible-ie8 visible-ie9">Username</label> 
    <div class="input-icon"> 
     <i class="fa fa-user"></i> 
     <input class="form-control placeholder-no-fix" type="text" autocomplete="off" placeholder="Username" name="username"/> 
    </div> 
</div> 

正如我已经从Django文档和示例和教程可在网上看到的,一个可能的模板可能是以下:

<div class="form-group"> 
<label class="control-label visible-ie8 visible-ie9">{{ placeholder }}</label> 
<div class="input-icon"> 
    <i class={{ i_css_class }}></i> 
    <input class="{{ css_class }}" type="{{ type }}" autocomplete="{{ autocomplete }}" placeholder="{{ placeholder }}" name="{{ name }}"/> 
</div> 

我的问题是:

  1. 模板是否正确书写?
  2. 如何写表格?
  3. 如何写视图?

目的:

  • 最后,通过使用Django的形式,我应该得到完全相同的HTML代码如上。
+0

请添加Django视图,该视图提供HTML表单中显示的上下文。 – 2015-01-09 22:54:41

+0

@aron:实际上View并没有做太多,只是渲染了html文件。 – lucab0ni 2015-01-09 23:07:17

回答

0
  1. 不,这不是纠正你缺少引号,你应该是这样的:

    class="{{ css_class }}" 
    

    ,而不是

    class={{ css_class }} 
    
  2. 我想你所谈论的Form class:该部分不是“强制性的”,你可以只使用纯html格式并在JS中进行验证而不是使用Django facilites,但是,如果你喜欢做“Django的方式”,请看https://docs.djangoproject.com/en/1.7/topics/forms/

  3. HttpRequest.POST是你在你选择做自己的JS验证情况的朋友,否则,如果你这样做“Django的方式”,你需要按照我给你上面的链接解释从form.cleaned_data检索数据。

+0

PS如果您想遵循“Django方式”,并且仍然能够为表单编写自己的html,请参阅我提供的链接中的段落“手动渲染字段”。这样,您仍然可以根据自己的模板设置表单样式,而无需修改CSS – mastazi 2015-01-10 00:43:32