একটি জ্যাঙ্গো টেমপ্লেটের অভ্যন্তরে প্রথম অক্ষরের বড় হাতের অক্ষর তৈরি করুন


113

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

উত্তর:


205

জাজানো অন্তর্নির্মিত টেম্পলেট ফিল্টার ব্যবহার করে শিরোনাম

{{ "myname"|title }}

13
এটি একক-শব্দযুক্ত স্ট্রিংয়ের জন্য কাজ করে। তবে, যদি আপনার একাধিক-শব্দযুক্ত স্ট্রিং থাকে তবে এটি স্ট্রিংয়ের প্রথম বর্ণের পরিবর্তে প্রতিটি শব্দের প্রথম অক্ষরের উপরের দিকে চলে যায়।
ভালদির স্টুম জুনিয়র

"আমার বন্ধুর বাড়ি" বা "আপনি একটি বড় হাতের ছোঁয়া" এর মতো অ্যাডোস্ট্রোফের সাথে এটি ততটাই দরকারী নয় যা "ফ্রেন্ড'স" এবং 'আপনি' রে 'হয়ে ওঠে।
টিমো

2
এই উত্তরটি ভুল। | শিরোনাম একটি স্ট্রিং বড়হাতের প্রথম অক্ষর তৈরি করে না। এটি প্রতিটি শব্দের বড় অক্ষর তৈরি করে। উদাহরণস্বরূপ, "হ্যালো ওয়ার্ল্ড" "হ্যালো ওয়ার্ল্ড" হয়ে ওঠে না। এটি হয়ে যায় "হ্যালো ওয়ার্ল্ড"।
মার্কাস লিন্ড

9
{{اعتراض | ব্যবহার করুন ক্যাপিস্ট প্রথম character} শুধুমাত্র বড় হাতের অক্ষর তৈরি করতে। {{অবজেক্ট | শিরোনাম} it এটিকে উটের কেস তৈরি করে।
Nrzonline

123

আমি জানি যে এটি কিছুটা দেরী হয়েছে তবে আপনি ক্যাফার্স্ট ব্যবহার করতে পারেন :

{{ "waiting for action"|capfirst }}

এর ফলে "কর্মের অপেক্ষায়" পরিণত হবে


8
আপনি যদি প্রথম অক্ষরের মূলধন চান তবে এটি সঠিক উত্তর।
রিক ওয়েস্টেরায়

এটি প্রথম অক্ষরটি বড় হাতের অক্ষরটিকে নিশ্চিত করবে, তবে বাকী স্ট্রিং ছোট হাতের অক্ষর নিশ্চিত করবে না। যেমন "হ্যালো ওয়ার্ল্ড" "হ্যালো ওয়ার্ল্ড" হয়ে উঠবে, "হ্যালো ওয়ার্ল্ড" নয়। যা কখনও কখনও সূক্ষ্ম হয়, তবে সবসময় নয় :)
ফিল গাইফোর্ড

হ্যাঁ, তবে এটি বিষয় শুরুর প্রশ্নের সাথে প্রাসঙ্গিক নয়। অতিরিক্ত যুক্তি পরিচালনা করতে অতিরিক্ত ফিল্টার প্রয়োগ করতে হবে। উদাহরণস্বরূপ, @ বিজর্ন-গার্সিয়া কেবলমাত্র প্রথম শব্দটির মূলধন নিশ্চিত করার জন্য একটি সমাধান সরবরাহ করে।
ওবলাক্স

21

আপনার একাধিক শব্দ থাকলে (উদাহরণস্বরূপ সমস্ত ক্যাপ) এই সমাধানটিও কাজ করে:

{{ "ALL CAPS SENTENCE"|lower|capfirst }}

এটি "সমস্ত ক্যাপ বাক্য" আউটপুট দেবে।


8

titleফিল্টার কাজ করে জরিমানা, কিন্তু যদি তোমার মত অনেকগুলি শব্দ স্ট্রিং আছে: "some random text", ফলে হতে যাচ্ছে "Some Random Text"। আপনি যদি সত্যিই যা চান তা হ'ল পুরো স্ট্রিংয়ের কেবলমাত্র প্রথম অক্ষরটি বড় করা , আপনার নিজের কাস্টম ফিল্টারটি তৈরি করা উচিত।

আপনি এটির মতো একটি ফিল্টার তৈরি করতে পারেন (এই দস্তাবেজ থেকে কীভাবে কাস্টম টেম্পলেট ফিল্টার তৈরি করবেন সে সম্পর্কে নির্দেশাবলী অনুসরণ করুন - এটি বেশ সহজ):

# yourapp/templatetags/my_filters.py
from django import template

register = template.Library()

@register.filter()
def upfirstletter(value):
    first = value[0] if len(value) > 0 else ''
    remaining = value[1:] if len(value) > 1 else ''
    return first.upper() + remaining

তারপরে, আপনার টেমপ্লেটে my_filters ফাইলটি লোড করা উচিত এবং সেখানে নির্ধারিত ফিল্টারটি ব্যবহার করা উচিত:

{% load my_filters %}

...
{{ myname|upfirstletter }}

1
|capfirst
ডাউনভোট


1

এটি আমার জন্য টেমপ্লেট ভেরিয়েবলে কাজ করেছিল।

{{ user.username|title }}

ব্যবহারকারী যদি "আল হাসিব" হয় তবে এটি "আল হাসিব" ফিরিয়ে দেবে

অথবা

{{ user.username|capfirst }}

ব্যবহারকারী যদি 'হাসিব' হয় তবে সর্বশেষটি "হাসিব" ফিরে আসবে

উভয়ই দেখতে দেখতে একরকম কিছু হলেও কিছু পার্থক্য রয়েছে।


0

শুধু ব্যবহার {{myname | capfirst}} সালে জ্যাঙ্গো টেমপ্লেট ফিল্টার capfirst একটি প্রদত্ত স্ট্রিং এর প্রথম অক্ষর capatialize।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.