हैलो, मैं Django सीख रहा हूँ और मैं मॉडल से देखने के लिए डेटा पास नहीं कर सकता। मैं सीखने के उद्देश्य के लिए एक सरल ब्लॉग बनाने की कोशिश कर रहा हूं, लेकिन हमेशा जब मैं दृश्य प्रस्तुत करता हूं, तो चर मौजूद होता है यदि मैं एक शर्त करता हूं लेकिन जब मैं उस चर तक पहुंचने का प्रयास कर रहा हूं - यह लिखता है क्या आप इस टैग त्रुटि को पंजीकृत या लोड करना भूल गए ..
एचटीएमएल:
{% if posts %}
{% posts %}
{% else %}
without posts
{% endif %}
Model.py:
STATUS = (
(0,"Draft"),
(1,"Publish")
)
class Category(models.Model):
name = models.CharField(max_length=200, unique=True)
slug = models.SlugField(max_length=200, unique=True)
active = models.BooleanField(default=False)
img = models.ImageField()
description = models.TextField()
class Meta:
ordering = ['-name']
def __str__(self):
return self.name
class Post(models.Model):
title = models.CharField(max_length=200, unique=True)
slug = models.SlugField(max_length=200, unique=True)
author = models.ForeignKey(User, on_delete= models.CASCADE,related_name='blog_posts')
wide_img = models.ImageField()
hide_img = models.ImageField()
updated_on = models.DateTimeField(auto_now= True)
content = models.TextField()
created_on = models.DateTimeField(auto_now_add=True)
status = models.IntegerField(choices=STATUS, default=0)
category = models.ForeignKey(Category, on_delete= models.CASCADE)
class Meta:
ordering = ['-created_on']
def __str__(self):
return self.title
View.py
from blog.models import Post
def index(request):
posts = Post.objects.filter(status=1).order_by('?')[:3]
context = {
"posts": "jaj",
}
template_name="index.html"
return render(request, template_name, context)
1 उत्तर
चर डबल ब्रेसिज़ का उपयोग करके प्रदर्शित होते हैं, न कि ब्रेसिज़ +% (जो टेम्प्लेटटैग के लिए है)। IOW आप चाहते हैं:
{% if posts %}
{{ posts }}
{% else %}
without posts
{% endif %}
त्रुटि संदेश एक संकेत हो सकता था, क्योंकि यह सुझाव देता है कि यह {% posts %}
को एक ज्ञात टेम्पलेटटैग के रूप में नहीं पहचानता है।
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।