Как отобразить атрибуты модели в django в веб-приложении
Я создаю сайт портфолио с помощью djnago. Теперь предположим, что у меня есть блог, и я хочу показать заголовок блога, небольшое резюме и ссылку. Я создал модель, как показано ниже:
class Blog(models.Model):
blog_title=models.CharField(max_length=50)
summary=models.TextField(blank=False)
blogLink=models.URLField()
def __str__(self):
return self.blog_title
def get_summary(self):
return self.summary
def get_link(self):
return self.blogLink
Я могу заполнить эти значения на странице администратора, но как я могу показать это в веб-приложении, чтобы другие люди могли получить доступ к ссылкам. У меня также есть контекстный процессор для данных пользователя, таких как имя, фамилия и т.д. Должен ли я иметь различные контекстные процессоры для различных классов, которые я создаю. Я только начинающий и пробую проекты для самосовершенствования. I
Нужно написать view
запрос на запись в блоге и отправить его на фронт-энд.
views.py
from django.http import Http404
from django.shortcuts import render
from polls.models import Blog
def my_blog_detail_view(request, some_id):
try:
q = Blog.objects.get(pk=some_id)
except Blog.DoesNotExist:
raise Http404("Poll does not exist")
return render(request, 'blog/my_blog_article.html', {'blog': q})
и установите путь в вашем urls.py
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('articles/<int:some_id>/', views.my_blog_detail_view),
]
А также необходимо написать Шаблон. Для приведенного выше примера my_blog_article.html
.
Вы можете поискать на YouTube или в документации Django учебник по первым представлениям и шаблонам.
Также со ссылкой наblogLink=models.URLField()
. Я не знаю, является ли эта ссылка на блог для блога в вашем проекте Django или это ссылка на внешний блог. Если это для вашего проекта Django, вам следует использовать поле date
и slug
(заголовок) в вашей модели и позже в качестве ссылки. Таким образом, позже на вашем сайте ссылка будет выглядеть следующим образом www.mysite.xy/blog/2022/07/14/my-first-article
смотрите здесь в документации