Jquery DatePicker виджет в форме Django не загружается - PullRequest
0 голосов
/ 11 апреля 2019

Я искал везде и пробовал несколько решений одной и той же проблемы, но я просто не могу понять, что я делаю здесь неправильно. Я пытаюсь использовать виджет jquery datepicker в моей форме django, но виджет просто не загружается, когда я нажимаю на поле.

Мой base.html:

{% load static %}
<!DOCTYPE html>
<html>
<head>
    <!-- Jquery UI -->
    <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>
    <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" />
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

    <link rel="stylesheet" type="text/css" href="{% static 'student_input/main.css' %}">

    <title>Student Data</title>
</head>

Мой HTML:

{% extends "student_input/base.html" %}
{% load crispy_forms_tags %}

{% block content %}
<head>
    <script
  src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"
  integrity="sha256-T0Vest3yCU7pafRw9r+settMBX6JkKN06dqBnpQ8d30="
  crossorigin="anonymous"></script>
</head>
    <h2>New Student</h2>


    <script type="text/javascript">
        $( function() {
            $( "#id_input_date" ).datepicker();
        });
    </script>


    <script type="text/javascript">
        $(document).ready(
            function(){
                $("#jqtest").html("JQuery installed successfully!");
            }
        );
    </script>
    <p id="jqtest"></p>



    <form method="post" class="post-form">{% csrf_token %}
        {{ form|crispy }}
        <button type="submit" class="save btn btn-default">Save Student</button>
    </form>

{% endblock content %}

forms.py:

from django import forms
from .models import Student


class StudentForm(forms.ModelForm):

    class Meta:
        model = Student
        widgets = {'input_date': forms.DateInput(attrs={'class': 'datepicker'})}
        fields = ('first_name',
                  'last_name',
                  'student_level',
                  'student_reading',
                  'student_dictation',
                  'student_speaking',
                  'student_writing',
                  'input_date',
                  'student_notes',

models.py:

from django.db import models


class Student(models.Model):

    input_date = models.DateField(blank=False)
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    student_level = models.CharField(max_length=15, choices=level_select)
    student_reading = models.CharField(max_length=3, choices=number_select)
    student_dictation = models.CharField(max_length=3, choices=number_select)
    student_speaking = models.CharField(max_length=3, choices=number_select)
    student_writing = models.CharField(max_length=3, choices=number_select)
    student_notes = models.TextField()

    def __str__(self):
        return self.first_name

Вся информация, которую я смог собрать из людей с похожей проблемой, привела к этой итерации моего кода, но виджет по-прежнему не отображается. Я пробовал разные способы загрузки jquery, включая загрузку файла и загрузку его с локального диска. Ни один из них не решает проблему. Любая помощь будет принята с благодарностью. Я не уверен, что искать больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...