django實現點選文章跳轉至文章詳細頁面
阿新 • • 發佈:2021-11-06
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)