jquery 如何在Django modelform中包含日期选择器?

wgx48brx  于 2023-08-04  发布在  jQuery
关注(0)|答案(5)|浏览(139)

我已经看到了关于这个主题的所有问题,但我无法解决我的问题,我的错误是:“类型错误:$(...).datepicker不是函数”
下面是我的代码:
联系我们

.....

<script type="text/javascript" src="{{ STATIC_URL }} /static/bootstrap/js/jquery-1.11.3.min.js">
</script> 

<link rel="stylesheet" type="text/css" href="/static/bootstrap/css/jquery-ui.css">

<link rel="stylesheet" type="text/css" href="/static/bootstrap/css/estilo.css">

<script type="text/javascript" src="{{ STATIC_URL }} /static/bootstrap/js/jquery-ui.js">
</script>

<script type="text/javascript">
$(document).ready(function() {
   $('.datepicker').datepicker();
});
</script>

<div class="form-group">

    <label for="nacimiento" class="control-label col-md-2">Nacimiento:</label>
    <div class="col-md-8">
        <input class="form-control" id="datepicker" name="nacimiento" type="text" />
    </div>
</div>

....

字符串
在html代码中我有所有的表单和让页面运行的每一件事。。我只是复制了Datepicker的重要代码

views.py

def registrarpaciente(request):
    if request.POST:
        form = PacienteForm(request.POST)
        if form.is_valid():
            mydate = form.cleaned_data('data_input') #I have agree this codeline just recently by looking another questions
            form.save()

            return render_to_response('ABME/Notificaciones/pregistrado.html')
    else:
        form = PacienteForm()

    args = {}
    args.update(csrf(request))

    args['form'] = form

    return render_to_response('ABME/Paciente/registrarpaciente.html', args)

form.py

from django import forms
from aplicacion.models import *
from functools import partial

DateInput = partial(forms.DateInput, {'class': 'datepicker'})

class PersonaForm(forms.ModelForm):
    class Meta:
        model = Persona
        exclude=()

class PacienteForm(forms.ModelForm):    
    class Meta:
        model = Paciente
        data_input = forms.DateField(widget=forms.DateInput(attrs={'class':'datepicker'}))
        exclude=()


我不知道我是否没有正确调用小部件或其他东西,脚本被调用,我已经检查了Firebug,所以这不是问题。请帮帮忙!

b4lqfgs4

b4lqfgs41#

只是为了其他寻求答案的人。
如果你只需要一个基本的日期选择器,而不热衷于js或jquery,试试django.forms提供的DateInput小部件。下面是一个示例代码。

from django.forms import Form, ModelForm, DateField, widgets
from your.models import Packaging, Purchase, Sale

class AddSaleForm(ModelForm):
    class Meta:
        model = Sale
        fields = '__all__'
        exclude = ()
        widgets = {
            'order_date': widgets.DateInput(attrs={'type': 'date'})
        }

字符串
使用纯Form的示例

class ReportForm(Form):
    from_date = DateField(label="From Date", widget=widgets.DateInput(attrs={'type': 'date'}))
    to_date = DateField(label="To Date", widget=widgets.DateInput(attrs={'type': 'date'}))

P.S您需要确保视图和模板设置正确。这是一个使用bootstrapdjango.views的代码示例。

qacovj5a

qacovj5a2#

如果data_input字段是模型字段,请使用以下命令:

class PacienteForm(forms.ModelForm):    
    class Meta:
        model = Paciente
        exclude=()  
        widgets = {
            'data_input': forms.DateInput(attrs={'class': 'datepicker', 'id': 'data_input'})
        }

字符串
如果不是模型字段,则用途:

class PacienteForm(forms.ModelForm):    
     data_input = forms.DateField(widget=forms.DateInput(attrs={'class':'datepicker'}))
     class Meta:
         model = Paciente
         exclude=()

wkftcu5l

wkftcu5l3#

文件可能不存在。


的数据
试试这个。

{% load static %}
<script src="{% static 'bootstrap/js/jquery-ui.js' %}"></script>

字符串
文件需要权限

btxsgosb

btxsgosb4#

尝试在你的HTML中包含以下内容:
第一个月

jecbmhm3

jecbmhm35#

使用Bootstrap DateTime Picker代替并指定此格式。验证码:

$('id/class name').datetimepicker({
            minDate: new Date(),
            locale: 'en',
            format: 'MM/DD/YYYY'
        });

字符串

相关问题