<p>嘿,我使用的都是新的<code>path()</code>函数,下面是我的工作示例,我相信它会有帮助:</p>
<p>视图.py:</p>
<pre><code>from django.views.generic.detail import DetailView
class ContentAmpView(DetailView):
model = Content
template_name = 'content_amp.html' # Defaults to content_detail.html
</code></pre>
<p>网址.py:</p>
<pre><code>from django.urls import path
from .views import ContentAmpView
# My pk is a string so using a slug converter here intead of int
urlpatterns = [
path('<slug:pk>/amp', ContentAmpView.as_view(), name='content-amp'),
]
</code></pre>
<p>模板/内容\u amp.html</p>
<pre><code><!doctype html>
<html amp lang="en">
<head>
<meta charset="utf-8">
<script async src="https://cdn.ampproject.org/v0.js"></script>
<title>Hello, AMPs</title>
<link rel="canonical" href="http://example.ampproject.org/article-metadata.html">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "NewsArticle",
"headline": "Open-source framework for publishing content",
"datePublished": "2015-10-07T12:02:41Z",
"image": [
"logo.jpg"
]
}
</script>
<style amp-boilerplate>
body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}
</style>
<noscript>
<style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}
</style>
</noscript>
</head>
<body>
<h1>Welcome to AMP - {{ object.pk }}</h1>
<p>{{ object.titles.main }}</p>
<p>Reporter: {{ object.reporter }}</p>
<p>Date: {{ object.created_at|date }}</p>
</body>
</html>
</code></pre>
<p>还要注意,在我的<code>settings.py</code>中,在<code>TEMPLATES</code>下,我有<code>'APP_DIRS': True</code>。更多关于路径<a href="https://docs.djangoproject.com/en/2.1/ref/urls/#django.urls.path" rel="nofollow noreferrer">here</a>。</p>