在使用Djang的程序中未检测到模板代码

2024-04-26 04:28:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我的主页上制作一个滑动条,但是当我尝试它时,我无法使它工作

model.py

class Static(models.Model):
    title           = models.CharField(max_length=50)
    description     = models.TextField()
    images1         = models.ImageField(upload_to="slider")
    images2         = models.ImageField(upload_to="slider")

    def __str__(self):
        return self.title;

查看.py

def slider(request):
    slider = Static.objects.all()
    return render(request, 'kerajinan/home.html', {
        'slider' : slider,
    })

admin.py

admin.site.register(Static)

模板home.html:

<div class="carousel-inner">
    {% for i in slider %}
        <div class="item active">
            <div class="col-sm-6">
                <h2>{{i.title}}</h2>
                <p>{{i.description}}</p>
                <button type="button" class="btn btn-default get">Get it now</button>
            </div>
            <div class="col-sm-6">
                <img src="{{i.image1.url}}" class="girl img-responsive" alt="" />
                <img src="{{i.image2.url}}"  class="pricing" alt="" />
            </div>
         </div>
     {% endfor %}
</div>

在代码<div class="carousel-inner">下面,此程序不读取它

你能帮我解决这个问题吗


Tags: topyselfdivimgtitlemodelsdef
1条回答
网友
1楼 · 发布于 2024-04-26 04:28:01

您可能需要定义一个操作来获取图像url,但请先尝试更改html模板。您拥有的值与您的模型不匹配。您有image1而不是images1,它应该是:

<div class="col-sm-6">
    <img src="{{i.images1.url}}" class="girl img-responsive" alt="" />
    <img src="{{i.images2.url}}" class="pricing" alt="" />
</div>

--编辑:

您需要定义一个函数,该函数将在html文件中调用时返回图像url。到目前为止,{{ i.images1.url }}没有返回正确的值,因为url没有定义

试试这个:

型号:

class Static(models.Model):
    title = models.CharField(max_length=50)
    description = models.TextField()
    images1 = models.ImageField(upload_to="slider")
    images2 = models.ImageField(upload_to="slider")

    def __str__(self):
        return self.title;

    def get_images1_url(self):
        return "%s/%s" %(settings.MEDIA_URL, self.images1)

    def get_images2_url(self):
        return "%s/%s" %(settings.MEDIA_URL, self.images2)

html:

<div class="carousel-inner">
    {% for i in slider %}
        <div class="item active">
            <div class="col-sm-6">
                <h2>{{i.title}}</h2>
                <p>{{i.description}}</p>
                <button type="button" class="btn btn-default get">Get it now</button>
            </div>
            <div class="col-sm-6">
                <img src="{{ i.get_images1_url }}" class="girl img-responsive" alt="" />
                <img src="{{ i.get_images2_url }}"  class="pricing" alt="" />
            </div>
         </div>
     {% endfor %}
</div>

设置:

MEDIA_URL = '/media/'

MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), #"First directory", "Second directory", etc, if applicable)

相关问题 更多 >