使用 jquery datepicker 渲染 django ModelForm
Posted
技术标签:
【中文标题】使用 jquery datepicker 渲染 django ModelForm【英文标题】:rendering django ModelForm with jquery datepicker 【发布时间】:2016-08-14 07:20:47 【问题描述】:我正在尝试 的每个人,现在知道该怎么做了吗?
models.py
....
class ProductsTbl(models.Model):
model_number = models.CharField(max_length=255, blank=True, null=True)
name = models.CharField(max_length=255, blank=True, null=True)
material = models.TextField(blank=True, null=True)
release = models.DateTimeField(blank=True, null=True)
...
forms.py
from django import forms
from django.forms import ModelForm
from .models import ProductsTbl,Upload
class ProductsTblForm(ModelForm):
class Meta:
model = ProductsTbl
fields = ('model_number','name','feature', 'material','release',)
edit_thing.html
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(function()
$( "#datepicker" ).datepicker( dateFormat: 'yy-mm-dd' );
);
</script>
% extends 'base.html' % % block title %
Edit thing.name - block.super % endblock title %
% block content %
<h1>Edit " thing.name "</h1>
<form role="form" action="" method="post">
% csrf_token %
form.as_p
<br>
<button type="submit">Submit</button>
<a href="% url 'edit_thing_uploads' slug=thing.slug %"> Edit images</a>
</form>
% endblock %
我想我必须在forms.py中做一些事情,,,让
发布
具有日期选择器功能,according to the link here
现在只是一个普通的 html
【问题讨论】:
Release 输入文本部分需要 datepicker ,,我想必须在 forms.py 中做一些事情,,,现在只是纯 html 没有 datepicker ,,,. 就像这里的链接 ***.com/a/16356818/5678590 但我不知道如何在我的 forms.py 中进行操作 【参考方案1】:在下面的代码行中,#datepicker
指的是要应用日期选择器的元素的 id,在这种情况下不会是 datepicker
,因为它将是 django 提供的默认 id,我猜它应该类似于#id_release
,但您必须检查输入元素以找出它应该是什么
$( "#datepicker" ).datepicker( dateFormat: 'yy-mm-dd' );
Django 默认为字段创建 id,因为 auto_id
id 属性值是通过将 id_ 附加到表单字段名称来生成的。但是,如果您想更改 id 约定或完全删除 HTML id 属性和标签,此行为是可配置的。
【讨论】:
在纯 html 中我必须把 ,,, 但是 django-form 只是在 html 中渲染 form.as_p ,,所以我想我必须在 forms.py 中添加一些代码 @CcL - 我添加了一个文档链接,它解释了 django 如何创建您根本不必在纯 html 中编写的 id,您只需要将脚本应用于正确的元素。 谢谢,我在edit_thing.html中将$("#datepicker")改成$("#id_release")后就可以了以上是关于使用 jquery datepicker 渲染 django ModelForm的主要内容,如果未能解决你的问题,请参考以下文章
jquery datepicker和asp.net c#空值