相关疑难解决方法(0)

以自定义形式使用Django时间/日期小部件

如何使用默认管理员在自定义视图中使用的漂亮的JavaScript日期和时间小部件?

我查看了Django表单文档,并简要提到了django.contrib.admin.widgets,但我不知道如何使用它?

这是我想要应用的模板.

<form action="." method="POST">
    <table>
        {% for f in form %}
           <tr> <td> {{ f.name }}</td> <td>{{ f }}</td> </tr>
        {% endfor %}
    </table>
    <input type="submit" name="submit" value="Add Product">
</form>
Run Code Online (Sandbox Code Playgroud)

此外,我认为应该注意的是,我没有真正为自己的表单编写视图,我使用的是通用视图.这是来自url.py的条目:

(r'^admin/products/add/$', create_object, {'model': Product, 'post_save_redirect': ''}),
Run Code Online (Sandbox Code Playgroud)

而且我对整个Django/MVC/MTV事物都是新手,所以请轻松一点......

python django

167
推荐指数
10
解决办法
11万
查看次数

Django DateTimeField输入表单

我的DateTime模型中有一个字段,我正在寻找一种简单的方法,使其在表单中看起来不错.像这样的东西SelectDateWidget.

我一直在寻找很多类似的问题,看起来像管理日期选择器或jquery这样的东西似乎很棘手.(这是我第一次使用Django,之前从未使用过jquery).

所以,我使用的ChoiceField这个例子,但是我无法让它工作.我得到错误名称'self'未定义.我可以不在self这里使用吗?或者有一些更简单的方法来做到这一点?我不需要花哨的日期选择器,只需要让用户轻松输入.

class ProjectForm(ModelForm):
    startdate = forms.DateField()
    starthour = forms.ChoiceField(choices=((6,"6am"),(7,"7am"),(8,"8am"),(9,"9am"), ...))
    startminute = forms.ChoiceField(choices=((0,":00"),(15,":15"),(30,":30"),(45,":45")))

    class Meta:
        model = Project

    def clean(self):
        starttime = time(int(self.cleaned_data.get('starthour')), 
                         int(self.cleaned_data.get('startminute')))
        return self.cleaned_data

    try:
        self.instance.start_time = datetime.datetime.combine(
            self.cleaned_data.get("startdate"), starttime)
    except TypeError:
        raise forms.ValidationError("")
Run Code Online (Sandbox Code Playgroud)

django datetime

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

django ×2

datetime ×1

python ×1