1. 程式人生 > 其它 >django實現點選文章跳轉至文章詳細頁面

django實現點選文章跳轉至文章詳細頁面

1.models設定

class show_UEpojcet_img(models.Model):
    UEpoject_id = models.AutoField(primary_key=True, verbose_name='專案識別碼')
    UEpoject_data = models.DateTimeField('上傳時間',null=True,blank=True)
    UEpoject_title = models.CharField(verbose_name='專案名稱', max_length=10)
    UEpoject_img = models.ImageField("
專案封面",upload_to='upload/poject/%Y/%m/%d') UEpoject_img1 = models.ImageField("專案預覽圖1",upload_to='upload/poject/yulanimg/%Y/%m/%d') UEpoject_img2 = models.ImageField("專案預覽圖2",upload_to='upload/poject/yulanimg/%Y/%m/%d') UEpoject_img3 = models.ImageField("專案預覽圖3",upload_to='upload/poject/yulanimg/%Y/%m/%d') UEpoject_textmess
= models.TextField("專案介紹",default="站長很賴,並沒留下什麼東西") def __str__(self): return self.UEpoject_title

2.views設定

def TEXT(request):#文章頁面
    uepoject_img = show_UEpojcet_img.objects.all()
    parameter = {
        'uepoject_img': uepoject_img,
    }
    return render(request, "texts.html", parameter)

  

def get_pojectmesspage(request,UEpoject_id):#需要跳轉到的文章詳細頁,接收前端返回的id
    # print("————————————————————————————————————")
    # print("識別碼為:",UEpoject_id)通過前端點選後返回的id來進行判斷並返回相應的資料
    # print("————————————————————————————————————")

    all_ueid = show_UEpojcet_img.objects.all()
    for ueid in all_ueid:
        if ueid.UEpoject_id == UEpoject_id:判斷回來的id與先前釋出的id是否一致
            curr_ueid = ueid
            print(curr_ueid)
            break
    print("--------")
    return render(request,"pjpage.html",{
        'curr_ueid' : curr_ueid,
    })

  

3.網頁設定

<!DOCTYPE html><!--文章頁面--!>
{% load staticfiles %}
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    {% for ueimg in uepoject_img %}
        <a href="/pojectpage/{{ ueimg.UEpoject_id }}">{{ ueimg.UEpoject_title }}</a>1
    {% endfor %}
</body>
</html>

 

<div class="mypojectpage_allbox"><!--文章跳轉詳細頁--!>
          <div class="pjpage_img">
      <img src="{{ curr_ueid.UEpoject_img.url }}" />
   </div>
   <div class="pjpage_img">
      <img src="{{ curr_ueid.UEpoject_img1.url }}" />
   </div>
   <div class="pjpage_img">
      <img src="{{ curr_ueid.UEpoject_img2.url }}" />
   </div>
   <div class="pjpage_img">
      <img src="{{ curr_ueid.UEpoject_img3.url }}" />
   </div>
</div>

  

4.urls設定

urlpatterns = [
    path('admin/', admin.site.urls),
    path('pojectpage/<int:UEpoject_id>',get_pojectmesspage),#以文章id作為名稱
    path('text',TEXT)
] + static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)