Skip to main content

With this package you can use persian calendar in admin interface and views

Project description

PyPi Version

Django jalali date new

It's a django package that you can use for showing jalali calendar in admin interface and views. This is a reconstruction of django-jalali-date. Thanks to JalaliDatePicker for it's beautifull datepicker.

How to use this?

First add jalali_date_new to your django apps:

INSTALLED_APPS = [
    '...',
    'jalali_date_new',
    '...',
]

for use in admin:

#admin.py
from django.contrib import admin
from django.db import models
from jalali_date_new.fields import JalaliDateTimeField, JalaliTimeField
from jalali_date_new.widgets import AdminJalaliDateTimeWidget, AdminJalaliTimeWidget, 
									AdminJalaliDateWidget
  

  
@admin.register(...)
class AdminModel(admin.ModelAdmin):
	formfield_overrides = {
        models.DateTimeField: 
        {
            'form_class': JalaliDateTimeField,
            "widget": AdminJalaliDateTimeWidget,
        },
    }

you can use this for datefield and timefield:

#usage for datefield
formfield_overrides = {
        models.DateField: 
        {
            'form_class': JalaliDateField,
            "widget": AdminJalaliDateWidget,
        },
    }

#usage for timefield
formfield_overrides = {
        models.TimeField: 
        {
            "widget": AdminJalaliTimeWidget,
        },
    }

for use in django app:

#forms.py
from django import forms
from jalali_date_new.fields import JalaliDateField, JalaliDateTimeField
from jalali_date_new.widgets import AdminJalaliDateWidget, AdminJalaliDateTime,
									AdminJalaliTime


class TestForm(forms.ModelForm):
    class Meta:
        model = TestModel
        fields = ('name', 'date', 'time', 'date_time')

    def __init__(self, *args, **kwargs):
        super(TestForm, self).__init__(*args, **kwargs)
        #for date
        self.fields['date'] = JalaliDateField(label=_('date'), 
            widget=AdminJalaliDateWidget)
		
		#for time
        self.fields['time'] = forms.TimeField(label=_('time'), 
            widget=AdminJalaliTime)

		#for datetime
        self.fields['date_time'] = JalaliDateTimeField(label=_('date time'), 
            widget=AdminJalaliDateTime)
#template
<form method="post">{% csrf_token %}
    {{ form.as_p }}
    <input type="submit">
</form>

<!-- loading directly -->
<link href="{% static 'jalali_date_new/css/jalalidatepicker.min.css' %}" rel="stylesheet">
<script src="{% static 'jalali_date_new/js/jalalidatepicker.min.js' %}" type="text/javascript"></script>
<script>
    jalaliDatepicker.startWatch(
        {
            separatorChars:{
                date:"-"
            },
            time: true
        }
    );
</script>

<!-- OR -->
<!-- loading by form (if used AdminJalaliDateWidget) -->
{{ form.media }}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_jalali_date_new-1.0.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Django_jalali_date_new-1.0-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file django_jalali_date_new-1.0.tar.gz.

File metadata

  • Download URL: django_jalali_date_new-1.0.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for django_jalali_date_new-1.0.tar.gz
Algorithm Hash digest
SHA256 31f87718b7aaf789f4c8c4d8d943071b34c93cbcbbd7097ca2a3d59d75238f78
MD5 662d62f8a9a900732cd21894773743eb
BLAKE2b-256 a62ff52b24aef6a562f9c23cea84ee6cd379e9091c8c653a168bfe3228892c04

See more details on using hashes here.

File details

Details for the file Django_jalali_date_new-1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for Django_jalali_date_new-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 71f530ba35c59e4ee7553db2978bb9a76135af1004bb9a8c390ebf609a939a87
MD5 5b07caf58f6b1a1d6bf1cd3c4b80e179
BLAKE2b-256 a5ca612e751b493b2b413946256a3ef05505eba8ca26a2a800bde80ce09f890c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page