আমি যখন জাঙ্গো কোড পড়ি তখন প্রায়শই আমি মডেলগুলিতে দেখতে পাই যা "স্লাগ" বলে। এটি কী তা আমি পুরোপুরি নিশ্চিত নই, তবে আমি জানি এটির URL এর সাথে কিছু করার আছে। এই স্লাগ-জিনিসটি কখন এবং কখন ব্যবহার করা হবে?
(আমি এই শব্দকোষে এর সংজ্ঞাটি পড়েছি ।)
আমি যখন জাঙ্গো কোড পড়ি তখন প্রায়শই আমি মডেলগুলিতে দেখতে পাই যা "স্লাগ" বলে। এটি কী তা আমি পুরোপুরি নিশ্চিত নই, তবে আমি জানি এটির URL এর সাথে কিছু করার আছে। এই স্লাগ-জিনিসটি কখন এবং কখন ব্যবহার করা হবে?
(আমি এই শব্দকোষে এর সংজ্ঞাটি পড়েছি ।)
উত্তর:
একটি "স্লাগ" একটি বৈধ URL উত্পন্ন করার একটি উপায়, সাধারণত ইতিমধ্যে প্রাপ্ত ডেটা ব্যবহার করে। উদাহরণস্বরূপ, একটি স্লাগ একটি URL তৈরি করতে একটি নিবন্ধের শিরোনাম ব্যবহার করে। আমি ম্যানুয়ালি সেট করার পরিবর্তে শিরোনাম (বা অন্য কোনও ডেটা) প্রদত্ত কোনও ফাংশনের মাধ্যমে স্লাগ তৈরির পরামর্শ দিচ্ছি।
একটি উদাহরণ:
<title> The 46 Year Old Virgin </title>
<content> A silly comedy movie </content>
<slug> the-46-year-old-virgin </slug>
এখন আমরা ভান করি যে আমাদের মতো জ্যাঙ্গো মডেল রয়েছে:
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField(max_length=1000)
slug = models.SlugField(max_length=40)
আপনি কীভাবে এই বিষয়টিকে একটি ইউআরএল এবং অর্থবহ নামের সাথে উল্লেখ করবেন? আপনি উদাহরণস্বরূপ আর্টিকেল.আইড ব্যবহার করতে পারেন সুতরাং URL টির মতো দেখতে:
www.example.com/article/23
অথবা, আপনি শিরোনামটি এর মতো উল্লেখ করতে চাইতে পারেন:
www.example.com/article/The 46 Year Old Virgin
যেহেতু স্পেসগুলি ইউআরএলগুলিতে বৈধ নয়, তাদের অবশ্যই প্রতিস্থাপন করা উচিত %20
, যার ফলস্বরূপ:
www.example.com/article/The%2046%20Year%20Old%20Virgin
উভয় প্রয়াসই খুব অর্থবহ, সহজেই পঠনযোগ্য ইউআরএল হিসাবে ফল দেয় না। ইহা ভাল:
www.example.com/article/the-46-year-old-virgin
এই উদাহরণে, the-46-year-old-virgin
একটি স্লাগ: এটি শিরোনাম থেকে সমস্ত অক্ষরকে আচ্ছন্ন করে এবং হাইফেন দ্বারা স্পেসগুলি প্রতিস্থাপন করে তৈরি করা হয়েছিল -
।
অন্য উদাহরণের জন্য এই খুব ওয়েব পৃষ্ঠার ইউআরএলও দেখুন।
আমি যদি কিছু historicalতিহাসিক প্রসঙ্গ সরবরাহ করতে পারি:
"স্লাগ" শব্দটি কাস্টিং মেটাল-লিডের সাথে সম্পর্কিত, এই ক্ষেত্রে — যার মধ্যে প্রেস ফন্টগুলি তৈরি হয়েছিল। তারপরে প্রতিটি কাগজের ফন্টের কারখানাটি নিয়মিত পুনরায় গলে যায় এবং তাজা ছাঁচগুলিতে পুনরায় মেশানো হয়, যেহেতু অনেকগুলি প্রিন্ট পরে তারা জীর্ণ হয়ে যায়। আমার মতো শিক্ষানবিসরা তাদের ক্যারিয়ারটি সেখানে শুরু করেছিলেন এবং পুরো পথে চলে গেলেন (আর নয়)।
টাইপোগ্রাফগুলিকে একটি নিবন্ধের পাঠ্যকে পশ্চাদপটে পদ্ধতিতে রচনা করতে হয়েছিল যাতে বুদ্ধিমানভাবে সজ্জিত সীমিত অক্ষর থাকে। মুদ্রণের সময় চিঠিগুলি সরাসরি কাগজে থাকত। সমস্ত টাইপোগ্রাফগুলি মুদ্রিত হিসাবে তত দ্রুত মিরর করা সংবাদপত্রটি পড়তে পারে। অতএব স্লাগস (শামুকের মতো) ধীরগতির গল্পগুলিও (শেষের জন্য স্থির করা হয়েছিল) অনেকগুলি বেঞ্চের অপেক্ষায় ছিল, কেবল তাদের মুঠির অক্ষর দ্বারা চিহ্নিত হয়েছিল, বেশিরভাগ পুরো শিরোনামটি সাধারণত বেশি পাঠযোগ্য able কিছু "হট" নিউজ সেখানে সম্ভাব্য শেষ মুহূর্তের সংশোধনের জন্য, বেঞ্চে অপেক্ষা করেছিল, শেষ সমাবেশ এবং নির্দিষ্ট মুদ্রণের আগে (সন্ধ্যা কাগজ)।
জঙ্গো কানসাসের লরেন্স জার্নালের অফিসগুলি থেকে উত্থিত হয়েছিল। যেখানে সম্ভবত কিছু মুদ্রণ কলঙ্ক এখনও অলস রয়েছে। এ-জ্যাঙ্গো-উত্সাহী - & - বন্ধুত্বপূর্ণ বয়সী-স্লাগ্-ছেলে-থেকে-ফ্রান্স।
শব্দ 'স্লাগ' সংবাদপত্রের প্রযোজনা থেকে এসেছে world
এটি নির্মাণ প্রক্রিয়া চলাকালীন একটি গল্পকে দেওয়া একটি অনানুষ্ঠানিক নাম। গল্পটি "প্রিন্টিং প্রেসগুলি" সম্পাদকের মাধ্যমে বীট রিপোর্টার (এইগুলি আরও উপস্থিত রয়েছে কি? ধরে নেওয়া) থেকে তার পথটি বয়ে যায় , এই নামটিই যার দ্বারা উল্লেখ করা হয়, যেমন, "আপনি কি এই ত্রুটিগুলি ঠিক করেছেন? ' কেট এবং উইলিয়াম 'গল্প? "।
কিছু সিস্টেম (যেমন জ্যাঙ্গো) গল্পটি সনাক্ত করতে URL এর অংশ হিসাবে স্লাগ ব্যবহার করে, উদাহরণ হ'ল www.mysite.com/archives/kate-and-william
।
এমনকি স্ট্যাক ওভারফ্লো নিজেই এটি করেন, জিইবি-ইশ (ক) স্ব-রেফারেন্সিয়াল দিয়ে /programming/427102/what-is-a-slug-in-django/427201#427201
, যদিও আপনি স্লাগটির সাথে প্রতিস্থাপন করতে পারেন blahblah
এবং এটি এখনও এটি ঠিক আছে।
এটি এমনকি তার আগেরও হতে পারে, যেহেতু চিত্রনাট্যগুলির প্রতিটি দৃশ্যের শুরুতে "স্লাগ লাইন" ছিল, যা মূলত সেই দৃশ্যের পটভূমি নির্ধারণ করে (কোথায়, কখন এবং এরকম)। এটি একেবারে অনুরূপ যে এটি অনুসরণ করে যা পূর্বরূপ বা পূর্বসূচী।
লিনোটাইপ মেশিনে স্লাগটি ধাতুর একক লাইন টুকরো ছিল যা পৃথক বর্ণের ফর্মগুলি থেকে তৈরি হয়েছিল। পুরো লাইনটির জন্য একটি একক স্লাগ তৈরি করে, এটি পুরানো চরিত্র অনুসারে চরিত্রের মিশ্রণে ব্যাপক উন্নতি হয়েছে।
যদিও নীচেরটি নিখুঁত অনুমানযোগ্য, স্লাগের প্রাথমিক অর্থ ছিল একটি জাল মুদ্রা (যা কোনওভাবে চাপতে হবে)। আমি ভাবতে পারি যে ব্যবহারটি মুদ্রণ শব্দটিতে রূপান্তরিত হচ্ছে (যেহেতু স্লাগটি মূল চরিত্রগুলি ব্যবহার করে চাপতে হয়েছিল) এবং সেখান থেকে 'ধাতুর টুকরা' সংজ্ঞা থেকে পরিবর্তিত হয়ে 'গল্পের সংক্ষিপ্তসার' সংজ্ঞাতে পরিণত হয়েছে। সেখান থেকে অনলাইনে বিশ্বে সঠিক প্রিন্টিং থেকে এটি একটি ছোট পদক্ষেপ।
(ক) "গডেল এসচার, বাচ", একটি ডগলাস হাফস্টাডটার দ্বারা , যা আমি (কমপক্ষে) একটি দুর্দান্ত আধুনিক বৌদ্ধিক কাজ বিবেচনা করি। আপনার অন্যান্য কাজ "मेटाটিকাল থিমস "ও পরীক্ষা করা উচিত।
স্লাগ একটি সংবাদপত্রের শব্দ। একটি স্লাগ হ'ল অক্ষর, সংখ্যা, আন্ডারস্কোর বা হাইফেন সম্বলিত কোনও কিছুর জন্য একটি ছোট লেবেল। এগুলি সাধারণত ইউআরএল-এ ব্যবহৃত হয়। (জাজানো ডক্সের মতো)
জাজানোতে একটি স্লাগ ফিল্ড আপনার গতিশীলভাবে তৈরি ওয়েব পৃষ্ঠাগুলির জন্য বৈধ ইউআরএল সংরক্ষণ এবং তৈরি করতে ব্যবহৃত হয় ।
স্ট্যাক ওভারফ্লোতে আপনি যেভাবে এই প্রশ্নটি যুক্ত করেছিলেন এবং ঠিক তেমনি একটি গতিশীল পৃষ্ঠা তৈরি হয়েছিল এবং ঠিকানার বারে আপনি যখন দেখবেন তখন আপনার প্রশ্নের শিরোনাম জায়গাগুলির জায়গায় "-" দিয়ে দেখতে পাবেন। ঠিক এটি একটি স্লাগ ফিল্ডের কাজ।
আপনার দ্বারা প্রবেশ করা শিরোনামটি এরকম কিছু ছিল -> জ্যাঙ্গোতে "স্লাগ" কী?
এটিকে স্লাগ ফিল্ডে সংরক্ষণ করার পরে এটি "কী-এ-স্লাগ-ইন-জাজানো" হয় (এই পৃষ্ঠার ইউআরএল দেখুন)
থেকে এখানে ।
"স্লাগ" একটি সংবাদপত্রের শব্দ, তবে এটির অর্থ এখানে URL এর চূড়ান্ত বিট। উদাহরণস্বরূপ, "জাজানো সম্পর্কে কিছুটা" শিরোনামযুক্ত একটি পোস্টটি হয়ে উঠবে, "বিট-অব-জাঙ্গো" স্বয়ংক্রিয়ভাবে (আপনি অবশ্যই স্বয়ংক্রিয়ভাবে উত্পন্ন স্লাগ পছন্দ না করলে এটিকে সহজেই পরিবর্তন করতে পারেন)।
এটি ইউআরএলটির বর্ণনামূলক অংশ যা এটিকে আরও বেশি মানব বর্ণনামূলক করে তুলতে হয় তবে ওয়েব সার্ভারের প্রয়োজন ছাড়াই - ইন জ্যাঙ্গোতে "স্লাগ" কী? স্লাগটি 'ইন-জাজানো-হোয়াট-এ-স্লাগ' হয় তবে স্লাগটি প্রদত্ত পৃষ্ঠা নির্ধারণ করতে ব্যবহৃত হয় না (কমপক্ষে এই সাইটে)
স্লাগ নির্দিষ্ট সামগ্রীর জন্য একটি ইউআরএল বান্ধব শর্ট লেবেল। এটিতে কেবলমাত্র অক্ষর, সংখ্যা, বোঝার বা হাইফেন থাকে। স্লাগগুলি সাধারণত সম্পর্কিত সামগ্রী দিয়ে সংরক্ষণ করা হয় এবং এটি ইউআরএল স্ট্রিং হিসাবে পাস হয় pass
স্লাগ স্লাগফিল্ড ব্যবহার করে তৈরি করতে পারে
উদা:
class Article(models.Model):
title = models.CharField(max_length=100)
slug = models.SlugField(max_length=100)
আপনি যদি স্লগ হিসাবে শিরোনামটি ব্যবহার করতে চান, জাঙ্গোর একটি সাধারণ ফাংশন বলা হয় slugify
from django.template.defaultfilters import slugify
class Article(models.Model):
title = models.CharField(max_length=100)
def slug(self):
return slugify(self.title)
যদি এর স্বতন্ত্রতা প্রয়োজন হয় তবে unique=True
স্লাগ ফিল্ডে যুক্ত করুন।
উদাহরণস্বরূপ, পূর্ববর্তী উদাহরণ থেকে:
class Article(models.Model):
title = models.CharField(max_length=100)
slug = models.SlugField(max_length=100, unique=True)
আপনি স্লাগ প্রক্রিয়া করতে অলস? চিন্তা করবেন না, এই প্লাগইন আপনাকে সাহায্য করবে। জ্যাঙ্গো-autoslug
জাঙ্গো-অ্যাডমিনে অটো স্লাগ। মডেলএডমিনে যুক্ত হয়েছে:
prepopulated_fields = {'slug': ('title', )}
এখানে হিসাবে:
class ArticleAdmin(admin.ModelAdmin):
list_display = ('title', 'slug')
search_fields = ('content', )
prepopulated_fields = {'slug': ('title', )}
স্লাগ্
কেবলমাত্র অক্ষর, সংখ্যা, আন্ডারস্কোর বা হাইফেন সমন্বিত কোনও কিছুর জন্য একটি ছোট লেবেল। এগুলি সাধারণত ইউআরএল-এ ব্যবহৃত হয়। উদাহরণস্বরূপ, একটি সাধারণ ব্লগ এন্ট্রি ইউআরএল:
https://www.djangoproject.com/weblog/2008/apr/12/spring/ শেষ বিট (বসন্ত) স্লাগ।