Guest User

django-help

a guest
Jan 21st, 2020
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.81 KB | None | 0 0
  1. models.py ->
  2. from django.db import models
  3. from django.urls import reverse
  4. # Create your models here.
  5.  
  6. class MangaList(models.Model):
  7. STATUS_CHOICES = (
  8. ('jap', 'Japanese'),
  9. ('rus', 'Russian'),
  10. ('eng', 'English')
  11. )
  12.  
  13. manga_title = models.CharField(max_length= 250)
  14. manga_author = models.CharField(max_length= 100)
  15. description = models.TextField()
  16. slug = models.SlugField(max_length= 250, unique=True)
  17. language = models.CharField(max_length=10, choices=STATUS_CHOICES)
  18. publish = models.DateTimeField(auto_now_add=True)
  19.  
  20. image = models.ImageField(upload_to='images/%Y/', null=True, blank=True)
  21.  
  22. def get_absolute_url(self):
  23. return reverse('mangapolls:manga_detail', args=[self.slug])
  24.  
  25. def __str__(self):
  26. return self.manga_title
  27.  
  28. class MangaImages(models.Model):
  29. mangaid = models.ForeignKey(MangaList, on_delete=models.CASCADE, related_name='manga_images')
  30. images = models.ImageField(upload_to='images/manga', null=True, blank=True)
  31.  
  32. def get_absolute_url(self):
  33. return reverse('mangapolls:manga_watch', args=[self.slug])
  34.  
  35. def __str__(self):
  36. return '{}'.format(self.mangaid)
  37.  
  38.  
  39. ---------------
  40. views.py >
  41.  
  42. from django.shortcuts import render, get_object_or_404
  43. from django.http import HttpResponse
  44. from .models import MangaList, MangaImages
  45. # Create your views here.
  46.  
  47. def mangalist(request):
  48. manga_list = MangaList.objects.all()
  49. a = "text"
  50. return render(request, 'mangapolls/post/list.html', {'output':manga_list, 'text':a})
  51.  
  52. def manga_detail(request, post):
  53. detail = get_object_or_404(MangaList, slug=post)
  54. manimg = MangaImages.objects.filter(mangaid=detail.id)
  55. return render(request, 'mangapolls/post/detail.html', {'manimg':manimg[0], 'detail':detail})
  56.  
  57. def manga_watch(request, post):
  58. detail = get_object_or_404(MangaList, slug=post)
  59. manga_images = MangaImages.objects.filter(mangaid=detail.id)
  60. return render(request, 'mangapolls/post/manga.html', {'manga': manga_images})
  61. --------------
  62. urls.py >
  63.  
  64. from django.urls import path
  65. from . import views
  66.  
  67. app_name = "manga_polls"
  68.  
  69. urlpatterns = [
  70. path('', views.mangalist, name='manga_polls'),
  71. path('<slug:post>/', views.manga_detail, name='manga_detail'),
  72. path('<slug:post>/watch/', views.manga_watch, name='manga_watch'),
  73. ]
  74. ----------------------
  75.  
  76. detail.html >
  77.  
  78. {% extends 'mangapolls/base.html' %}
  79. {% load thumbnail %}
  80.  
  81. {% block title %} Manga detail{% endblock %}
  82.  
  83. {% block content %}
  84. <p>Id: {{detail.id}}.
  85. Ttitle: {{detail.manga_title}}.</p>
  86. <p>Description: {{detail.description}}.</p>
  87. <!-- <a href="{{ manimg.mangaid.get_absolute_url}}">text</a> -->
  88. <img src="{{ detail.image.url }}">
  89. {% endblock %}
Advertisement
Add Comment
Please, Sign In to add comment