новый для python/django. Я использую представления на основе классов. У меня есть объекты с именем Video
, которые я хочу, чтобы иметь возможность создавать рейтинги. У меня есть DetailView
для Video
, и на этой же странице у меня есть ссылка, которая приведет вас на другую страницу, чтобы оценить Video
, что было на DetailView
(потому что я не хотел связываться с Mixins еще, чтобы все это на одном и том же страница).передать объект первичный ключ через шаблоны django
Как я могу сохранить/получить ссылку на DetailView
Video
объект так, когда я представляю рейтинг он знает, что рейтинг для Video
объекта, который был на DetailView
?
models.py
class Video(models.Model):
title = models.CharField(max_length=100, default="Community Video ")
class Rating(models.Model):
rate_choice = ((1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5'))
rate_value = models.IntegerField(default=5, choices=rate_choice)
video = models.ForeignKey('Video', related_name='video', null=True, default=1)
views.py
class VideoView(DetailView):
model = Video
template_name = 'video_view.html'
class RatingView(CreateView):
model = Rating
template_name = 'rating_create.html'
fields = ['rate_value', 'video']
В основном я хочу первичный ключ Video
пойти со мной, когда я иду из шаблона в video_view
к rating_create
. Я думаю о том, что просто использую функции, основанные на представлениях, представления класса меня путают.
urls.py:
urlpatterns = [
url(r'^upload', UploadVideo.as_view(), name='upload'),
url(r'^(?P<pk>[0-9]+)/$', VideoView.as_view(), name='videoview'),
url(r'^(?P<pk>[0-9]+)/ratings', RatingView.as_view(success_url='success_yea'), name='rating_view'),
url(r'^success', upload, name='success_yea')
]
Нет ничего плохого в использовании функций, основанных на представлении, если вы найдете их более понятными. Независимо от того, выбираете ли вы функции, основанные на представлениях или представления на основе классов, первое, что нужно сделать, это настроить свои URL-адреса. Что у вас есть для этого до сих пор? – Alasdair
Я добавил URL-адреса на свой пост. Я пробовал несколько разных вещей с добавлением первичного ключа в имени URL-адреса, то, что у меня есть, является лишь одним из моих attemps – ratrace123