【问题标题】:rendering django ModelForm with jquery datepicker使用 jquery datepicker 渲染 django ModelForm
【发布时间】:2016-08-14 07:20:47
【问题描述】:

我正在尝试使用 jquery datepicker 渲染 django ModelForm 的每个人,现在知道该怎么做了吗?

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 ,,,.
  • 就像这里的链接 stackoverflow.com/a/16356818/5678590 但我不知道如何在我的 forms.py 中进行操作

标签: jquery django datepicker django-forms django-templates


【解决方案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")后就可以了
猜你喜欢
  • 2020-07-19
  • 2012-10-03
  • 1970-01-01
  • 2021-04-28
  • 2019-05-29
  • 1970-01-01
  • 2020-08-30
  • 2021-02-25
  • 1970-01-01
相关资源
最近更新 更多