কাস্টম আকারে জ্যাঙ্গো সময় / তারিখের উইজেট ব্যবহার করা


171

আমি কীভাবে ডিফল্ট অ্যাডমিনটি আমার কাস্টম ভিউয়ের সাথে ব্যবহার করে নিফ্টি জাভাস্ক্রিপ্টের তারিখ এবং সময় উইজেট?

আমি জ্যাঙ্গো ফর্ম ডকুমেন্টেশনগুলি দেখেছি দেখেছি এবং এতে সংক্ষেপে django.contrib.admin.widgets উল্লেখ করা হয়েছে, তবে আমি কীভাবে এটি ব্যবহার করব জানি না?

এখানে আমার টেম্পলেটটি এটি প্রয়োগ করতে চাই।

<form action="." method="POST">
    <table>
        {% for f in form %}
           <tr> <td> {{ f.name }}</td> <td>{{ f }}</td> </tr>
        {% endfor %}
    </table>
    <input type="submit" name="submit" value="Add Product">
</form>

এছাড়াও, আমি মনে করি এটি লক্ষ করা উচিত যে আমি এই ফর্মটির জন্য সত্যই নিজের মতামত লিখিনি, আমি জেনেরিক ভিউ ব্যবহার করছি। Url.py থেকে এন্ট্রিটি এখানে:

(r'^admin/products/add/$', create_object, {'model': Product, 'post_save_redirect': ''}),

এবং আমি পুরো জ্যাঙ্গো / এমভিসি / এমটিভি জিনিসগুলিতে প্রাসঙ্গিকভাবে নতুন, তাই দয়া করে সহজ হয়ে যান ...



উত্তর:


159

সময়ের সাথে সাথে এই উত্তরটির ক্রমবর্ধমান জটিলতা এবং প্রচুর হ্যাকের প্রয়োজনীয়তা সম্ভবত আপনাকে এগুলি করা একেবারেই সতর্ক করা উচিত। এটি অ্যাডমিনের অননুমোদিত অভ্যন্তরীণ বাস্তবায়নের বিশদগুলির উপর নির্ভর করে, ভবিষ্যতে জ্যাঙ্গোর সংস্করণগুলিতে আবার ভাঙতে পারে এবং কেবল অন্য জেএস ক্যালেন্ডার উইজেট সন্ধান করা এবং এটি ব্যবহার করার চেয়ে প্রয়োগ করা সহজ নয় implement

এটি বলেছে, আপনি যদি এই কাজটি করার বিষয়ে দৃ determined়প্রতিজ্ঞ হন তবে আপনাকে যা করতে হবে তা এখানে:

  1. আপনার মডেলটির জন্য আপনার নিজস্ব মডেলফর্ম সাবক্লাসটি সংজ্ঞায়িত করুন (এটিকে আপনার অ্যাপ্লিকেশনে ফর্ম.পাইতে রাখার জন্য সেরা) এবং এডমিনটেট উইজেট / অ্যাডমিনটাইম উইজেট / অ্যাডমিনস্প্লিটডেটটাইম ব্যবহার করতে বলুন (আপনার মডেল থেকে সঠিক ফিল্ডের নাম দিয়ে 'মায়াডেট' ইত্যাদি প্রতিস্থাপন করুন):

    from django import forms
    from my_app.models import Product
    from django.contrib.admin import widgets                                       
    
    class ProductForm(forms.ModelForm):
        class Meta:
            model = Product
        def __init__(self, *args, **kwargs):
            super(ProductForm, self).__init__(*args, **kwargs)
            self.fields['mydate'].widget = widgets.AdminDateWidget()
            self.fields['mytime'].widget = widgets.AdminTimeWidget()
            self.fields['mydatetime'].widget = widgets.AdminSplitDateTime()
  2. আপনার ইউআরএলকনফকে 'ফর্ম_ক্লাস' পাস করতে: 'মডেল' এর পরিবর্তে প্রোডাক্টফর্ম: জেনেরিক ক্রিয়েওবজেক্ট ভিউতে পণ্যটি (যার অর্থ "আমার_অ্যাপসফর্মগুলি" মাই_অ্যাপ.মোডালস থেকে "আমদানি পণ্য" এর পরিবর্তে প্রোডাক্টফর্ম আমদানি করবে) অবশ্যই)

  3. আপনার টেম্পলেটটির শিরোনামে জাভাস্ক্রিপ্ট ফাইলগুলিতে লিঙ্কগুলি আউটপুট করতে {{form.media} include অন্তর্ভুক্ত করুন।

  4. এবং হ্যাকি অংশ: অ্যাডমিনের তারিখ / সময়ের উইজেটগুলি ধারণা করে যে i18n জেএস স্টাফ লোড হয়েছে, এবং কোর.জেও প্রয়োজন, তবে কোনও একটি স্বয়ংক্রিয়ভাবে সরবরাহ করবেন না। সুতরাং উপরে আপনার টেমপ্লেটে {{form.media template} আপনার প্রয়োজন হবে:

    <script type="text/javascript" src="/my_admin/jsi18n/"></script>
    <script type="text/javascript" src="/media/admin/js/core.js"></script>

    আপনি নিম্নলিখিত অ্যাডমিন সিএসএস ব্যবহার করতে ইচ্ছুক হতে পারেন (এটি উল্লেখ করার জন্য অ্যালেক্সকে ধন্যবাদ ):

    <link rel="stylesheet" type="text/css" href="/media/admin/css/forms.css"/>
    <link rel="stylesheet" type="text/css" href="/media/admin/css/base.css"/>
    <link rel="stylesheet" type="text/css" href="/media/admin/css/global.css"/>
    <link rel="stylesheet" type="text/css" href="/media/admin/css/widgets.css"/>

এর দ্বারা বোঝা যায় যে জ্যাঙ্গোর প্রশাসক মিডিয়া (ADMIN_MEDIA_PREFIX) / মিডিয়া / অ্যাডমিন / এ রয়েছে - আপনি আপনার সেটআপের জন্য এটি পরিবর্তন করতে পারেন। আদর্শভাবে আপনি এই মানগুলিকে হার্ডকোডিংয়ের পরিবর্তে আপনার টেম্পলেটে প্রেরণ করার জন্য একটি প্রসঙ্গ প্রসেসর ব্যবহার করতে চান তবে এটি এই প্রশ্নের ক্ষেত্রের বাইরে।

এটির জন্যও ইউআরএল / আমার_এডমিন / জসি 18 এন / ম্যানুয়ালি django.views.i18n.javascript_catolog ভিউ (বা নাল_ জাভাস্ক্রিপ্ট_ক্যাটেলোগুলি যদি আপনি I18N ব্যবহার না করে থাকেন) অবধি সজ্জিত হন। আপনাকে অ্যাডমিন অ্যাপ্লিকেশনটি ব্যবহার না করে নিজেই এটি করতে হবে যাতে আপনি অ্যাডমিনে লগ ইন করেছেন কিনা তা নির্বিশেষে এটি অ্যাক্সেসযোগ্য (ধন্যবাদ জেরেমিকে এটি নির্দেশ করার জন্য)। আপনার URLconf এর জন্য নমুনা কোড:

(r'^my_admin/jsi18n', 'django.views.i18n.javascript_catalog'),

শেষ অবধি, আপনি জ্যাঙ্গো ১.২ বা তার পরে ব্যবহার করছেন, উইজেটগুলির মিডিয়া সন্ধান করতে আপনার টেমপ্লেটে আপনার কিছু অতিরিক্ত কোডের প্রয়োজন:

{% load adminmedia %} /* At the top of the template. */

/* In the head section of the template. */
<script type="text/javascript">
window.__admin_media_prefix__ = "{% filter escapejs %}{% admin_media_prefix %}{% endfilter %}";
</script>

এই সংযোজনের জন্য লুপফাইস্কো ধন্যবাদ ।


3
এটি করার জন্য অনলাইনে সহায়ক সহায়ক পোস্টগুলি কিন্তু শেষ অবধি তারিখ / সময় উইজেট উপস্থিত হয়ে জনবহুল ক্ষেত্রটি এখন তা গ্রহণ করতে চলেছে কারণ ফর্ম ক্ষেত্রে প্রয়োজনীয় = মিথ্যা থাকা সত্ত্বেও এটি এখন "একটি বৈধ তারিখ / সময় প্রবেশ করান" বার্তাটি দেখায়। আমার প্রয়োজনীয় ক্ষেত্রের জন্য যদি আমি এটি ফাঁকা রাখি। আমার জন্য jquery ফিরে।
ফোবিবি

এটি কি জ্যাঙ্গো ২.১.২.২ যাওয়ার পথে?
নাচো

1
জাজানো ২.২ আরসি 1 এবং তারপরে আপনাকে উপরের দিকে একটি ছোট পরিবর্তন করতে হবে। দেখুন: stackoverflow.com/questions/38601/...
mshafrir

1
আপনি কি জানেন যে এটি এখনও জ্যাঙ্গো 1.4 এ প্রযোজ্য? যদিও আমি jQuery এর ডেটপিকারের সাথে যেতে নিশ্চিত, তবুও আমি আগ্রহী যদি জাঙ্গো টিম তাদের উইজেটটিকে আরও প্রকাশ্যে উপলব্ধ করে তোলে। (আমি সন্দেহ করি না, যেহেতু এই কিউএটি প্রায় সবথেকে ডকুমেন্টেশন বলে মনে হচ্ছে)
জন সি

1
অ্যাডমিনের উইজেটগুলি অ্যাডমিনের বাইরে আরও সহজে পুনরায় ব্যবহারযোগ্য করে তোলার দিকে কোনও গতি নেই, এবং আমি অনুমান করব না যে এটির কোনও উপস্থিতি রয়েছে। এটি অনেক কাজ হবে এবং এগুলিতে কাজ করার জন্য অনেক বেশি অগ্রাধিকার আইটেম রয়েছে। (আমি জ্যাঙ্গো কোর দলের অংশ, বিটিডাব্লু)।
কার্ল মায়ার

64

সমাধান হ্যাকিশ হওয়ায়, আমি মনে করি কিছু জাভাস্ক্রিপ্ট সহ আপনার নিজস্ব তারিখ / সময় উইজেট ব্যবহার করা আরও সম্ভাব্য।


8
আমি রাজী. কয়েক মাস আগে আমার জ্যাঙ্গো প্রকল্পটি দিয়ে আমি এটি করার চেষ্টা করেছি। আমি অবশেষে ছেড়ে দিয়েছি এবং কেবল jQueryUI এর সাথে আমার নিজের যুক্ত করেছি। এটির কাজ পেতে 10 মিনিট সময় নিয়েছে।
পুরোহিত

8
রেকর্ডের জন্য, আমি সম্মত হই, আমি এই উত্তরটিকে উজ্জ্বল করেছিলাম, এবং আমি আসলে কোনও উত্তর সাইটটিতে আমার উত্তরটিতে কৌশলটি ব্যবহার করি নি ;-)
কার্ল মেয়ার

12

হ্যাঁ, আমি / অ্যাডমিন / জেসি 18 এন / ইউআরএলকে ওভাররাইড করে শেষ করেছি।

আমি আমার urls.py এ যা যুক্ত করেছি তা এখানে's নিশ্চিত করুন এটি / প্রশাসক / ইউআরএল এর উপরে

    (r'^admin/jsi18n', i18n_javascript),

এবং আমি তৈরি i18n_ জাভাস্ক্রিপ্ট ফাংশন এখানে।

from django.contrib import admin
def i18n_javascript(request):
  return admin.site.i18n_javascript(request)

ওহ, খুব ভাল পয়েন্ট। আমি এটি উপরে আমার উত্তরে যুক্ত করব যাতে লোকেরা ঝামেলা হওয়ার আগে এটি খুঁজে পাওয়া আরও সহজ।
কার্ল মায়ার

12

আমি নিজেকে এই পোস্টটি অনেকটা উল্লেখ করে দেখতে পেয়েছি এবং ডকুমেন্টেশনটি কিছুটা সংজ্ঞায়িত করেছে ডিফল্ট উইজেটগুলিকে ওভাররাইড করার জন্য কম হ্যাকি উপায় ।

( মডেলফর্মের __init__ পদ্ধতিটি ওভাররাইড করার দরকার নেই )

তবে কার্লের উল্লেখ অনুসারে আপনাকে এখনও আপনার জেএস এবং সিএসএস যথাযথভাবে তারের প্রয়োজন।

forms.py

from django import forms
from my_app.models import Product
from django.contrib.admin import widgets                                       


class ProductForm(forms.ModelForm):
    mydate = forms.DateField(widget=widgets.AdminDateWidget)
    mytime = forms.TimeField(widget=widgets.AdminTimeWidget)
    mydatetime = forms.SplitDateTimeField(widget=widgets.AdminSplitDateTime)

    class Meta:
        model = Product

ডিফল্ট ফর্ম ক্ষেত্রগুলি খুঁজে পেতে ক্ষেত্রের প্রকারগুলি উল্লেখ করুন ।


5
এই মতটি কম হ্যাকিশের সাথে আমি দ্বিমত পোষণ করছি। এটি দেখতে সুন্দর, নিশ্চিত, তবে আপনি সম্পূর্ণরূপে মডেল ফর্মের দ্বারা উত্পন্ন ফর্ম ক্ষেত্রগুলিকে ওভাররাইড করছেন যা হেল্প_টেক্সটের মতো মডেল ক্ষেত্রগুলি থেকে বিকল্পগুলিও মুছতে পারে। ওভাররাইডিং init কেবলমাত্র উইজেট পরিবর্তন করে এবং বাকী ফর্ম ক্ষেত্রটি যেমন ছিল তেমন ছেড়ে দেয়।
কার্ল মায়ার

11

1.4 সংস্করণের জন্য আমার হেড কোড (কিছু নতুন এবং কিছু সরানো হয়েছে)

{% block extrahead %}

<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}admin/css/forms.css"/>
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}admin/css/base.css"/>
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}admin/css/global.css"/>
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}admin/css/widgets.css"/>

<script type="text/javascript" src="/admin/jsi18n/"></script>
<script type="text/javascript" src="{{ STATIC_URL }}admin/js/core.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}admin/js/admin/RelatedObjectLookups.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}admin/js/jquery.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}admin/js/jquery.init.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}admin/js/actions.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}admin/js/calendar.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}admin/js/admin/DateTimeShortcuts.js"></script>

{% endblock %}

3
অসাধারণ . আমি গত ২ সপ্তাহ থেকে এটি চেষ্টা করছিলাম এবং এটি আমাকে ধন্যবাদ জানায়
সংখ্যাটি

j AT STATIC_URL}} বা stat% স্থিতিশীল 'অ্যাডমিন / জেএস / কোর.জস'%} ... সহ load% লোড স্ট্যাটিকফিল%% using ব্যবহার করা জ্যাঙ্গো 1.4+ এর জন্য প্রয়োজনীয়, কারণ পুরো এমইডিআইএআরএল-এর নেমস্পেস অবচিত এবং সরানো হয়েছিল। / অ্যাডমিন / jsi18n ঠিকমতো সমাধান করে যদি আপনার ^ অ্যাডমিন / সার্ভারে / ম্যাপযুক্ত থাকে / urls.py
জেবার্ল

দুর্দান্ত স্টাফ, জ্যাঙ্গো 1.4 এর ক্ষেত্রে দরকারী
আশীষ

10

জাঙ্গো ১.২ আরসি 1 থেকে শুরু করে, আপনি যদি জ্যাঙ্গো অ্যাডমিন তারিখ চয়নকারী উইজ ট্রিকটি ব্যবহার করছেন তবে নিম্নলিখিতটি আপনার টেমপ্লেটে যুক্ত করতে হবে বা আপনি "/ মিসিং-অ্যাডমিন-মিডিয়া-প্রিফিক্সের মাধ্যমে ক্যালেন্ডার আইকন ইউআরএল উল্লেখ করতে পারবেন see / "।

{% load adminmedia %} /* At the top of the template. */

/* In the head section of the template. */
<script type="text/javascript">
window.__admin_media_prefix__ = "{% filter escapejs %}{% admin_media_prefix %}{% endfilter %}";
</script>

7

কার্ল মেয়ারের উত্তরটি পরিপূরক করে, আমি মন্তব্য করতে চাই যে আপনাকে সেই শিরোনামটি আপনার টেমপ্লেটের মধ্যে কিছু বৈধ ব্লকের (শিরোনামের অভ্যন্তরে) রাখা দরকার।

{% block extra_head %}

<link rel="stylesheet" type="text/css" href="/media/admin/css/forms.css"/>
<link rel="stylesheet" type="text/css" href="/media/admin/css/base.css"/>
<link rel="stylesheet" type="text/css" href="/media/admin/css/global.css"/>
<link rel="stylesheet" type="text/css" href="/media/admin/css/widgets.css"/>

<script type="text/javascript" src="/admin/jsi18n/"></script>
<script type="text/javascript" src="/media/admin/js/core.js"></script>
<script type="text/javascript" src="/media/admin/js/admin/RelatedObjectLookups.js"></script>

{{ form.media }}

{% endblock %}


6

জ্যাঙ্গো> = ২.০ এর জন্য

দ্রষ্টব্য: তারিখের সময় ক্ষেত্রগুলির জন্য অ্যাডমিন উইজেটগুলি ব্যবহার করা ভাল ধারণা নয় কারণ আপনি বুটস্ট্র্যাপ বা অন্য কোনও সিএসএস ফ্রেমওয়ার্ক ব্যবহার করছেন এমন ক্ষেত্রে অ্যাডমিন স্টাইল শিটগুলি আপনার সাইটের স্টাইল শিটগুলির সাথে বিরোধ করতে পারে। আপনি যদি বুটস্ট্র্যাপে নিজের সাইটটি তৈরি করে থাকেন তবে আমার বুটস্ট্র্যাপ-ডেটপিকার উইজেট জাঙ্গো -বুটস্ট্র্যাপ-ডেটপিকার-প্লাস ব্যবহার করুন

ধাপ 1: যোগ javascript-catalogURL আপনার প্রকল্পের (না অ্যাপ্লিকেশনের) এর urls.pyফাইল।

from django.views.i18n import JavaScriptCatalog

urlpatterns = [
    path('jsi18n', JavaScriptCatalog.as_view(), name='javascript-catalog'),
]

পদক্ষেপ 2: আপনার টেমপ্লেটে প্রয়োজনীয় জাভাস্ক্রিপ্ট / সিএসএস সংস্থান যুক্ত করুন।

<script type="text/javascript" src="{% url 'javascript-catalog' %}"></script>
<script type="text/javascript" src="{% static '/admin/js/core.js' %}"></script>
<link rel="stylesheet" type="text/css" href="{% static '/admin/css/widgets.css' %}">
<style>.calendar>table>caption{caption-side:unset}</style><!--caption fix for bootstrap4-->
{{ form.media }}        {# Form required JS and CSS #}

পদক্ষেপ 3: আপনার তারিখের সময় ইনপুট ক্ষেত্রগুলির জন্য প্রশাসক উইজেটগুলি ব্যবহার করুন forms.py

from django.contrib.admin import widgets
from .models import Product

class ProductCreateForm(forms.ModelForm):
    class Meta:
        model = Product
        fields = ['name', 'publish_date', 'publish_time', 'publish_datetime']
        widgets = {
            'publish_date': widgets.AdminDateWidget,
            'publish_time': widgets.AdminTimeWidget,
            'publish_datetime': widgets.AdminSplitDateTime,
        }

5

উপরেরটি ব্যর্থ হলে নীচেরগুলিও সর্বশেষ অবলম্বন হিসাবে কাজ করবে

class PaymentsForm(forms.ModelForm):
    class Meta:
        model = Payments

    def __init__(self, *args, **kwargs):
        super(PaymentsForm, self).__init__(*args, **kwargs)
        self.fields['date'].widget = SelectDateWidget()

একই রকম

class PaymentsForm(forms.ModelForm):
    date = forms.DateField(widget=SelectDateWidget())

    class Meta:
        model = Payments

আপনার form.py এ এটি রাখুন from django.forms.extras.widgets import SelectDateWidget


1
এটি আমাকে ত্রুটি দেয় 'ডেটফিল্ড' অবজেক্টটির কোনও 'जरूरतগুলি_ মাল্টিপার্ট_রফর্ম' নেই
তৈরি করা হয়েছে

3

আপনার উইজেটের জন্য কেবলমাত্র একটি শ্রেণি নির্ধারণ এবং তারপরে সেই ক্লাসটিকে জিকুয়ের ডেটপিকারের সাথে বাঁধাই সম্পর্কে কী?

জ্যাঙ্গো ফর্ম.পি:

class MyForm(forms.ModelForm):

  class Meta:
    model = MyModel

  def __init__(self, *args, **kwargs):
    super(MyForm, self).__init__(*args, **kwargs)
    self.fields['my_date_field'].widget.attrs['class'] = 'datepicker'

এবং টেমপ্লেটের জন্য কিছু জাভাস্ক্রিপ্ট:

  $(".datepicker").datepicker();


1

প্রয়োজনীয় = মিথ্যা সহ স্প্লিটডেটটাইমের জন্য সমাধান এবং কার্যবিধির আপডেট করা :

forms.py

from django import forms

class SplitDateTimeJSField(forms.SplitDateTimeField):
    def __init__(self, *args, **kwargs):
        super(SplitDateTimeJSField, self).__init__(*args, **kwargs)
        self.widget.widgets[0].attrs = {'class': 'vDateField'}
        self.widget.widgets[1].attrs = {'class': 'vTimeField'}  


class AnyFormOrModelForm(forms.Form):
    date = forms.DateField(widget=forms.TextInput(attrs={'class':'vDateField'}))
    time = forms.TimeField(widget=forms.TextInput(attrs={'class':'vTimeField'}))
    timestamp = SplitDateTimeJSField(required=False,)

form.html

<script type="text/javascript" src="/admin/jsi18n/"></script>
<script type="text/javascript" src="/admin_media/js/core.js"></script>
<script type="text/javascript" src="/admin_media/js/calendar.js"></script>
<script type="text/javascript" src="/admin_media/js/admin/DateTimeShortcuts.js"></script>

urls.py

(r'^admin/jsi18n/', 'django.views.i18n.javascript_catalog'),

আমিও একটি টিকেট SplitDateTime উইজেট ফিক্স পূর্ণ করেছে code.djangoproject.com/ticket/12303
স্যাম উ:

1

আমি এটি ব্যবহার করি, এটি দুর্দান্ত, তবে টেমপ্লেটটিতে আমার 2 টি সমস্যা রয়েছে:

  1. টেমপ্লেটে ফাইল করা প্রতিটি জন্য ক্যালেন্ডার আইকন দু'বার দেখি ।
  2. এবং টাইমফিল্ডের জন্য আমার একটি বৈধ তারিখ প্রবেশ করুন। '

    এখানে ফর্মটির একটি স্ক্রিনশট রয়েছে

models.py

from django.db import models
    name=models.CharField(max_length=100)
    create_date=models.DateField(blank=True)
    start_time=models.TimeField(blank=False)
    end_time=models.TimeField(blank=False)

forms.py

from django import forms
from .models import Guide
from django.contrib.admin import widgets

class GuideForm(forms.ModelForm):
    start_time = forms.DateField(widget=widgets.AdminTimeWidget)
    end_time = forms.DateField(widget=widgets.AdminTimeWidget)
    create_date = forms.DateField(widget=widgets.AdminDateWidget)
    class Meta:
        model=Guide
        fields=['name','categorie','thumb']

0

জাজানো ১০. মাইপ্রজেক্ট / urls.py: urlpatterns এর শুরুতে

  from django.views.i18n import JavaScriptCatalog

urlpatterns = [
    url(r'^jsi18n/$', JavaScriptCatalog.as_view(), name='javascript-catalog'),
.
.
.]

আমার টেমপ্লেট html এ:

{% load staticfiles %}

    <script src="{% static "js/jquery-2.2.3.min.js" %}"></script>
    <script src="{% static "js/bootstrap.min.js" %}"></script>
    {# Loading internazionalization for js #}
    {% load i18n admin_modify %}
    <script type="text/javascript" src="{% url 'javascript-catalog' %}"></script>
    <script type="text/javascript" src="{% static "/admin/js/jquery.init.js" %}"></script>

    <link rel="stylesheet" type="text/css" href="{% static "/admin/css/base.css" %}">
    <link rel="stylesheet" type="text/css" href="{% static "/admin/css/forms.css" %}">
    <link rel="stylesheet" type="text/css" href="{% static "/admin/css/login.css" %}">
    <link rel="stylesheet" type="text/css" href="{% static "/admin/css/widgets.css" %}">



    <script type="text/javascript" src="{% static "/admin/js/core.js" %}"></script>
    <script type="text/javascript" src="{% static "/admin/js/SelectFilter2.js" %}"></script>
    <script type="text/javascript" src="{% static "/admin/js/admin/RelatedObjectLookups.js" %}"></script>
    <script type="text/javascript" src="{% static "/admin/js/actions.js" %}"></script>
    <script type="text/javascript" src="{% static "/admin/js/calendar.js" %}"></script>
    <script type="text/javascript" src="{% static "/admin/js/admin/DateTimeShortcuts.js" %}"></script>

0

আমার জ্যাঙ্গো সেটআপ: 1.11 বুটস্ট্র্যাপ: 3.3.7

যেহেতু উত্তরগুলির কোনওটিই সম্পূর্ণ পরিষ্কার নয়, তাই আমি আমার টেম্পলেট কোডটি ভাগ করছি যা কোনও ত্রুটি উপস্থাপন করে না।

টেম্পলেট শীর্ষ অর্ধেক:

{% extends 'base.html' %}
{% load static %}
{% load i18n %}

{% block head %}
    <title>Add Interview</title>
{% endblock %}

{% block content %}

<script type="text/javascript" src="{% url 'javascript-catalog' %}"></script>
<script type="text/javascript" src="{% static 'admin/js/core.js' %}"></script>
<link rel="stylesheet" type="text/css" href="{% static 'admin/css/forms.css' %}"/>
<link rel="stylesheet" type="text/css" href="{% static 'admin/css/widgets.css' %}"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" >
<script type="text/javascript" src="{% static 'js/jquery.js' %}"></script>

নীচে অর্ধেক:

<script type="text/javascript" src="/admin/jsi18n/"></script>
<script type="text/javascript" src="{% static 'admin/js/vendor/jquery/jquery.min.js' %}"></script>
<script type="text/javascript" src="{% static 'admin/js/jquery.init.js' %}"></script>
<script type="text/javascript" src="{% static 'admin/js/actions.min.js' %}"></script>
{% endblock %}

0

জুন 3, 2020 (সমস্ত উত্তর কার্যকর হয়নি, আপনি যে সমাধানটি আমি ব্যবহার করেছি তা চেষ্টা করতে পারেন Just টাইমফিল্ডের জন্য)

ফর্মগুলিতে Charfieldসময় ক্ষেত্রগুলির জন্য সহজ ( এই উদাহরণে শুরু এবং শেষ ) ব্যবহার করুন।

forms.py

আমরা Formবা ModelFormএখানে ব্যবহার করতে পারেন ।

class TimeSlotForm(forms.ModelForm):
    start = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'HH:MM'}))
    end = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'HH:MM'}))

    class Meta:
        model = TimeSlots
        fields = ('start', 'end', 'provider')

স্ট্রিং ইনপুটকে ভিউতে টাইম অবজেক্টে রূপান্তর করুন।

import datetime
def slots():
    if request.method == 'POST':
        form = create_form(request.POST)
        if form.is_valid():                
            slot = form.save(commit=False)
            start = form.cleaned_data['start']
            end = form.cleaned_data['end']
            start = datetime.datetime.strptime(start, '%H:%M').time()
            end = datetime.datetime.strptime(end, '%H:%M').time()
            slot.start = start
            slot.end = end
            slot.save()
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.