Python 如何在模板中创建并链接到类别部分?
我是django的新手,我尝试了一些建议,但似乎无法让它发挥作用。我正在尝试创建一个博客文章模型,其中包含一个类别部分,并链接到模板中的类别。我的代码如下Python 如何在模板中创建并链接到类别部分?,python,django,templates,categories,Python,Django,Templates,Categories,我是django的新手,我尝试了一些建议,但似乎无法让它发挥作用。我正在尝试创建一个博客文章模型,其中包含一个类别部分,并链接到模板中的类别。我的代码如下 from django.db import models from django.utils import timezone from django.contrib.auth.models import User from django.core.urlresolvers import reverse from taggit.managers
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
from taggit.managers import TaggableManager
# Create your models here.
class PublishedManager(models.Manager):
def get_queryset(self):
return super(PublishedManager, self).get_queryset().filter(status='published')
class MoneyManager(models.Manager):
def get_queryset(self):
return super(MoneyManager, self).get_queryset().filter(category='money')
class LoveManager(models.Manager):
def get_queryset(self):
return super(LoveManager, self).get_queryset().filter(category='love')
class WeightlossManager(models.Manager):
def get_queryset(self):
return super(WeightlossManager, self).get_queryset().filter(category='weightloss')
def get_image_filename(instance, filename):
title = instance.post.title
slug = slugify(title)
return "post_images/%s-%s" % (slug, filename)
class Post(models.Model):
STATUS_CHOICES = (
('draft', 'Draft'),
('published', 'Published'),
)
CATEGORY_CHOICES = (
('money', 'Money'),
('love', 'Love'),
('weightloss', 'Weightloss')
)
title = models.CharField(max_length=250)
slug = models.SlugField(max_length=250,
unique_for_date='publish')
author = models.ForeignKey(User, related_name='blog_posts')
image = models.ImageField(upload_to='get_image_filename', verbose_name='Image', blank=True)
body = models.TextField()
image2 = models.ImageField(upload_to='get_image_filename', verbose_name='Image', blank=True)
body2 = models.TextField(blank=True)
image3 = models.ImageField(upload_to='get_image_filename', verbose_name='Image', blank=True)
body3 = models.TextField(blank=True)
publish = models.DateTimeField(default=timezone.now)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='draft')
objects = models.Manager()
published = PublishedManager()
category = models.CharField(max_length=10, choices=CATEGORY_CHOICES)
money = MoneyManager()
love = LoveManager()
weightloss = WeightlossManager()
tags = TaggableManager()
class Meta:
ordering = ('-publish',)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('blog:post_detail',
args=[self.publish.year,
self.publish.strftime('%m'),
self.publish.strftime('%d'),
self.slug])
class Comment(models.Model):
post = models.ForeignKey(Post, related_name='comments')
name = models.CharField(max_length=80)
email = models.EmailField()
body = models.TextField()
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
active = models.BooleanField(default=True)
class Meta:
ordering = ('created',)
def __str__(self):
return 'Comment by {} on {}'.format(self.name, self.post)
4e2
aaefb22cf2adc42680d
' -H '
Content - Type: multipart / form - data
' -POST http://127.0.0.1:8000/api/scan_binary/ -F binary_file=@/Users/a.b.gopalakrishna/Desktop/tele.apk -F uuid=a996a142e1ef4a6e9e29dd7f6baf120bfsfds
我想在我的模板中有一个名为category的部分,它将显示3个类别(金钱、爱情和减肥)
我该怎么做?我该如何编写模板来显示它?谢谢 您可以使用
\u meta.get\u field.(“category”).choices
或get\u category\u display
来执行此操作,或者您可以在dict上直接转换字段choicecategory\u choices
,如下所示:
def convert_dict_choice(self):
category_dict = dict(self.CATEGORY_CHOICES)
return category_dict
因此,您可以调用视图
并将其作为模板的响应
的上下文传递,如下所示:
def select_options(request):
category_select = Post().convert_dict_choice()
return render(
request, "template/name_template.html",
{"data_select":category_select}
)
然后,您可以这样做的模板如下:
{% extends "base.html" %}
{% block content %}
<div class="category">
<h1>Seccion category</h1>
<select name="services" id="services">
{% for category_selectvice in data_select %}
<option>{{category_selectvice}}</option>
{% endfor %}
</select>
</div>
{% endblock content %}
{%extends“base.html”%}
{%block content%}
第二类
{数据中的类别设备的%u select%}
{{category_selectvice}}
{%endfor%}
{%endblock内容%}
如果您想要更多的参考资料,请访问django的文档