Amo il Thauber Schedule datepicker, ma è un selettore datetime e non riesco a farlo solo per le date. Qualche suggerimento per datepickers di bell'aspetto che vengono con le istruzioni su come integrarsi con un campo del modulo di data di Django?Qual è il datepicker più pulito e più semplice da utilizzare in Django?
risposta
Si può anche semplicemente utilizzare jQuery nei vostri modelli. Il jQuery DateTime Picker consente ogni personalizzazione.
Grazie. Non ho mai scavato in JQuery, ma poche ore di lavoro mi hanno portato esattamente dove volevo essere. –
Np, buona fortuna per il tuo progetto. Ma ricorda, Jquery è semplicemente javascript sul lato client. È quindi possibile che qualcuno inserisca i dati nella classe del modulo con dati errati o malevoli, quindi convalida tutto e inserisce le azioni di visualizzazione in una clausola try/except. – Ali
Per la convalida dei dati, utilizzare i moduli di Django (https://docs.djangoproject.com/en/dev/topics/forms/) – Olli
Se hai dimestichezza con il widget di data di Django Admin, puoi includerlo nella tua app. Il vantaggio non sono le dipendenze esterne. Qualcuno ha postato un how-to sul gruppo django-utenti qualche tempo fa:
Grazie, Ars! In realtà ho visto il post SO su quel metodo che mi ha un po 'spaventato: http://bit.ly/br5lLG –
ho trovato questo abbastanza liscia per una soluzione amichevole DateTimeField
https://github.com/asaglimbeni/django-datetime-widget
Necessario per includere bootstrap-timepicker css file from malot e ha funzionato abbastanza ordinatamente.
Come implementarlo in un form di Django.Form invece di fare riferimento a un modello? – scriptdiddy
Non importa, l'ho capito. Grazie per il post!! – scriptdiddy
ho lottato con un problema simile e ho trovato la seguente soluzione gradevole, utilizzando forme floppy:
Questo funziona molto bene ed è relativamente facile da implementare, la speranza che qualcuno lo troverà di aiuto pieno. In bocca al lupo.
Essendo più recente per la codifica, ho utilizzato questo esempio a causa della sua facilità.
<form method="POST">{% csrf_token %}
<p>Start date<input type = 'date' name='start_date' ></p>
<p>End date<input type = 'date' name='end_date' ></p>
<button type="submit">Submit</button>
</form>
Questo non è un Datepicker. Sebbene alcuni browser possano scegliere di visualizzare un datepicker, non è sicuramente la norma. – spectras
@spectras: In realtà, è * norma * da HTML5, vedere [qui] (http://www.w3schools.com/html/html_form_input_types.asp) o [qui] (http://html5doctor.com/html5 -Forme-input-tipi /). – theV0ID
È normale, come in * "il browser deve sapere che ha una data interna" *. Norm, tuttavia, non dice come deve essere mostrato. Internet Explorer, Firefox e Safari li visualizzeranno tutti come normali caselle di testo, il che è perfetto per la norma ... ma non per quello che l'OP vuole. – spectras
seguito è quello che faccio, senza dipendenze esterne a tutti .:
models.py:
from django.db import models
class Promise(models):
title = models.CharField(max_length=300)
description = models.TextField(blank=True)
made_on = models.DateField()
forms.py:
from django import forms
from django.forms import ModelForm
from .models import Promise
class DateInput(forms.DateInput):
input_type = 'date'
class PromiseForm(ModelForm):
class Meta:
model = Promise
fields = ['title', 'description', 'made_on']
widgets = {
'made_on': DateInput(),
}
mio punto di vista:
class PromiseCreateView(CreateView):
model = Promise
form_class = PromiseForm
E il mio modello:
<form action="" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Create" />
</form>
Il calendario si presenta così:
Il supporto di Django TextInput (e tutte le relative sottoclassi) che specifica un attributo di tipo per impostare il tipo di modulo.
È possibile utilizzare questo per impostare il tipo di ingresso per date
(W3C specification), ad esempio, nel seguente modo:
date = fields.DateField(widget=forms.widgets.DateInput(attrs={'type': 'date'}))
Questo funziona davvero bene ... se i clienti utilizzeranno solo il browser Chrome. L'attributo HTML necessario per implementare questo non è attualmente supportato in Safari o Firefox. – William
soluzione avi può essere effettuata anche senza l'utilizzo di un ulteriore classe di ingresso django:
class PromiseForm(ModelForm):
class Meta:
model = Promise
fields = ['title', 'description', 'made_on']
widgets = {
'made_on': DateInput(attrs={'type': 'date'}),
}
In questo momento nel 2018, dopo il rilascio di DJango versione 2, è piuttosto difficile trovare un widget DatePicker ancora funzionante o mantenuto. Raccomando django-bootstrap-datepicker-plus che funziona sorprendentemente sia sulle versioni più recenti che su quelle più vecchie di DJango. L'ho provato in DJango versione 1.10.7 e 2.0.2, funziona bene in entrambe le versioni.
L'installazione è abbastanza semplice. Devi solo installarlo.
pip install django-bootstrap-datepicker-plus
Aggiungerlo all'elenco delle applicazioni installate nel file settings.py.
INSTALLED_APPS = [
'bootstrap_datepicker',
...other apps...
]
Importare il widget di nel file forms.py
from bootstrap_datepicker.widgets import DatePicker
Aggiungi il widget alla campo della data
class ToDoForm(forms.Form):
date = forms.DateField(
widget=DatePicker(
options={
"format": "mm/dd/yyyy",
"autoclose": True
}
)
)
Istruzioni dettagliate sono disponibili sul django-bootstrap-datepicker-plus Github Page.
- 1. Qual è il framework WSGI più semplice/leggero?
- 2. Qual è il gateway di pagamento possibile più semplice da implementare? (usando Django)
- 3. Qual è il modo più pulito per includere e accedere ai dati binari in VC++ Express?
- 4. Qual è il modo più pulito di fare un ordinamento più uniq su un elenco Python?
- 5. Qual è il modo più semplice per utilizzare il comando HEAD di HTTP in PHP?
- 6. Qual è il modo più intelligente/più pulito per iterare asincrono su array (o objs)?
- 7. Qual è il cloud più semplice per contenuto Web statico
- 8. Che cosa è il modo più semplice per utilizzare filter_horizontal all'esterno dell'amministratore in Django
- 9. Qual è il modo più semplice per combinare più raccolte in uno stream in Java?
- 10. Qual è il modo più semplice per bloccare un oggetto in Django
- 11. Qual è il modo più pulito per creare una pipeline non lineare in Bash?
- 12. Qual è il modo più semplice per mantenere oggetti java?
- 13. Qual è il modo più semplice per rimuovere Homestead e Vagrant da un sistema Windows?
- 14. C#: qual è il modo più semplice per sottrarre tempo?
- 15. Qual è il modo più pulito per eseguire la copia di Spring Beans in un JSP?
- 16. Qual è il modo più semplice per visualizzare httpServletResponse.sendError (403, "Il mio messaggio") Stato da JSTL
- 17. Qual è il modo più pulito per ottenere il checksum di un array multidimensionale?
- 18. Qual è il modo più semplice per ottenere una chiave con il valore più alto da un hash in Perl?
- 19. Qual è la CPU più piccola e più semplice che GCC può compilare?
- 20. Il DHT più semplice da implementare
- 21. Qual è il framework AOP più semplice e meno dipendente in Java?
- 22. Qual è il modo più semplice per leggere diversi ints da stdin se è ok fallire?
- 23. Qual è il modo più semplice per effettuare più richieste Web di seguito?
- 24. Qual è il modo più semplice per rimuovere tutti gli attributi da un XML in C#?
- 25. In Ruby, qual è il modo più pulito per ottenere l'indice del valore più grande in un array?
- 26. Qual è il modo più semplice per sottrarre un mese da una data in Python?
- 27. Qual è il modo più semplice in C# per tagliare una nuova riga da una stringa?
- 28. Qual è il modo più semplice per aggiungere scorciatoie da tastiera globali in Windows?
- 29. Qual è il modo più semplice per utilizzare OAuth con ActiveResource?
- 30. Il modo più semplice per avere un sito django multilingue?
Se faccio domande che appartengono alle raccomandazioni del softwarer, vengono sottovalutate o chiuse. Sei fortunato :-) – guettli