【发布时间】:2021-12-06 00:01:03
【问题描述】:
我正在尝试创建“项目”页面,这些页面的路径使用 {{ project.title }} 值,而不是我使用的当前方法。我不太明白我怎么能做到这一点,但感觉我很接近?
Models.py
from django.db import models
# Create your models here.
class Project(models.Model):
title = models.CharField(max_length=100)
description = models.TextField()
technology = models.CharField(max_length=20)
image = models.FilePathField(path='projects/static/img/')
live = models.URLField()
source = models.URLField()
def __str__(self):
return self.title
Urls.py
from django.urls import path
from . import views
urlpatterns = [
path("", views.project_index, name="projects"),
path("<int:pk>/", views.project_details, name="project_details"), # PK for Primary Key
]
Views.py
from django.shortcuts import render
from .models import Project
# Create your views here.
def project_index(request):
projects = Project.objects.all()
context = {'projects': projects}
return render(request, 'projects/project_index.html', context)
def project_details(request, pk):
project = Project.objects.get(pk=pk)
context = {'project': project}
return render(request, 'projects/project_details.html', context)
我认为path("<int:pk>/", 需要成为一个蛞蝓,但我就是不知道如何绑定数据库数据。
可能是context = {'project': project}?
目前的网址是http://127.0.0.1:8000/projects/1/ - 我正在寻找http://127.0.0.1:8000/projects/EXAMPLE/
谢谢
【问题讨论】:
标签: python django django-views django-templates