Я новичок в Python и пытаюсь создать блог в стиле musi c, где можно публиковать видео на YouTube, ссылки на Soundclound и др. c. используя страницу администрирования Django.
Я пытался использовать модель поля URL, но она не работает. Затем я нашел django -embed-video , но мне удалось заставить его работать только как отдельную модель.
models.py:
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
from embed_video.fields import EmbedVideoField
class Item(models.Model):
video = EmbedVideoField() # same like models.URLField()
def __str__(self):
return self.video
class Post(models.Model):
title = models.CharField(max_length=100)
url = models.URLField(max_length=500, default='') # same like models.URLField()
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return self.title
admin.py
from django.contrib import admin
from .models import Post
from embed_video.admin import AdminVideoMixin
from .models import Item
admin.site.register(Post)
class ItemAdmin(AdminVideoMixin, admin.ModelAdmin):
pass
admin.site.register(Item, ItemAdmin)
home. html template
{% extends "blog/base.html" %}
{% load embed_video_tags %}
{% block content %}
{% for post in posts %}
<article class="media content-section">
<div class="media-body">
<div class="article-metadata">
<a class="mr-2" href="#">{{ post.author }}</a>
<small class="text-muted">{{ post.date_posted|date:"F d, Y" }}</small>
</div>
<h2><a class="article-title" href="#">{{ post.title }}</a></h2>
<iframe src="{{ post.url }}"></iframe>
<p class="article-content">{{ post.content }}</p>
</div>
</article>
{% endfor %}
{% endblock content %}
Буду признателен за любую помощь в этом, так как я не уверен, как поступить.