как показать данные из нескольких моделей в конкретную c модель, используя django - PullRequest
0 голосов
/ 08 января 2020

Я хочу спросить, как показать данные из нескольких моделей в конкретную c модель, используя django

У меня есть 6 моделей, и я хочу показать все данные в одной модели, называемой домашней моделью

я имею в виду, у меня есть этот веб-сайт www.softdlr.com и я хочу показать все элементы, которые я автоматически добавил на домашнюю страницу, как это сделать, и спасибо

я пытался сделать это, но это не работает ..

Views.py:

def home_page(request):
app = Homepage.objects.all()
page = request.GET.get('home-page', 1) # the_home_page is the name of pages when user go to page 2 etc
paginator = Paginator(app, 6) # 6 that's mean it will show 6 apps in page
try:
    appnum = paginator.page(page)
except PageNotAnInteger:
    appnum = paginator.page(1)
except EmptyPage:
    appnum = paginator.page(paginator.num_pages)

return render(request,'html_file/enterface.html', { 'appnum': appnum })


def android_apk(request):
app = AndroidApks.objects.all()
page = request.GET.get('android-apk-page', 1) # the_home_page is the name of pages when user go to page 2 etc
paginator = Paginator(app, 6) # 6 that's mean it will show 6 apps in page
try:
    AndroidApk = paginator.page(page)
except PageNotAnInteger:
    AndroidApk = paginator.page(1)
except EmptyPage:
    AndroidApk = paginator.page(paginator.num_pages)

return render(request,'html_file/android_apks.html', { 'AndroidApk': AndroidApk })

etc.....

модели:

class Homepage(models.Model):
name = models.CharField(max_length=50,default="")
app_contect = models.CharField(max_length=240,default="")
page_url = models.URLField(max_length=250,default="")
app_image = models.ImageField(upload_to='images/',null=True, blank=True)

def get_image(self):
    if self.app_image and hasattr(self.app_image, 'url'):
        return self.app_image.url
    else:
        return '/path/to/default/image'

def __str__(self):
    return self.name


class AndroidApks(models.Model):
name = models.CharField(max_length=50,default="")
app_contect = models.CharField(max_length=240,default="")
page_url = models.URLField(max_length=250,default="")
app_image = models.ImageField(upload_to='images/',null=True, blank=True)
post_date = models.DateTimeField(auto_now_add=True, null=True, blank=True)

def get_image(self):
    if self.app_image and hasattr(self.app_image, 'url'):
        return self.app_image.url
    else:
        return '/path/to/default/image'

def __str__(self):
    return self.name

class Meta:
    ordering = ('-post_date',)

etc .....

enterface. html page:

    {% for home_page in appnum %}

<label id="label_main_app"> <img style="margin-top:.3%;margin-left:.3%" id="img_main_app_first_screen" src="{{ home_page.get_image }}" alt="no image found !" height="160" width="165" > {{ home_page.name }} <br><br> <p id="p_size_first_page"> {{ home_page.app_contect}} <br> <br> <a href=" {{ home_page.page_url }} " type="button" class="btn btn-dark"><big> See More & Download </big>  </a> </p>
 </label>


 {% endfor %} 

    {% for android_app in AndroidApk %}

<label id="label_main_app"> <img style="margin-top:.3%;margin-left:.3%" id="img_main_app_first_screen" src="{{ android_app.get_image }}" alt="no image found !" height="160" width="165" > {{ android_app.name }} <br><br> <p id="p_size_first_page"> {{ android_app.app_contect}} <br> <br> <a href=" {{ android_app.page_url }} " type="button" class="btn btn-dark"><big> See More & Download </big>  </a> </p>
 </label>


 {% endfor %}

etc for all rest model and views ...... 
...