Как я смогу показать свое поле модели моим шаблонам? - PullRequest
0 голосов
/ 11 июня 2019

Я совсем новичок в Джанго.Сегодня я решил не следовать никаким учебным пособиям и вообще делать свой собственный сайт.

У меня есть мой models.py, который

class Portfolio(models.Model):
title = models.CharField(max_length=100)
description = models.TextField(max_length=1000)
technology = models.CharField(max_length=100)
img = models.ImageField(upload_to='media/')
site = models.URLField(max_length=200)

def __str__(self):
    return self.title

class Meta:
    verbose_name = "project"
    verbose_name_plural = "projects"

Мой views.py равен

def works(request):
    work = Post.objects.all().order_by()
    context = {'work': work}
    return render(request, 'portfolio.html', context)

И шаблон

<h3 class="text-center card-title title font-weight-bolder">{{how.do.i.put.it}}</h3>

Где взять слова внутри {{here}}?

Надеюсь, я хорошо это объяснил.

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

У вас есть модель под названием Post? если это так, попробуйте использовать это:

def works(request):
        works = Post.objects.all()
        context = {'works': works}
        return render(request, 'portfolio.html', context)

Попробуйте это в шаблоне

{% for work in works %}
   <h3 class="text-center card-title title font-weight-bolder">{{work.title}}</h3>
{% endfor %}

Для изображения добавьте это в url.py проекта

from django.conf.urls.static import static
urlpatterns = [
   ........
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

settings.py

MEDIA_URL = '/media/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

В views.py добавить запрос. ФАЙЛЫ для добавления поля изображения

form = AddPortfolio(request.POST or None,request.FILES or None)

В шаблон добавить enctype = "multipart/form-data"

<form action="" method="post" enctype = "multipart/form-data">

И получить доступ к изображению в шаблоне, как это

{% for work in works %}
<img src = /media/{{work.img}} width="" height="">
{% endfor %}
0 голосов
/ 11 июня 2019

return render (запрос, 'portfolio.html', context = {"work": work})

Проверьте, работает ли это

{{работа}}

проверьте, есть ли у вас модель с именем post и зарегистрировали ли вы ее в admin, и импортируйте ее в представления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...