在 Django 中添加路径以创建更多视图
Posted
技术标签:
【中文标题】在 Django 中添加路径以创建更多视图【英文标题】:Adding paths in Django to create more views 【发布时间】:2018-07-04 17:41:45 【问题描述】:我正在关注 Django 网站上的 tutorial。我尝试复制这个:
我的代码如下:
views.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
def detail(request, film_id):
return HttpResponse("You're looking at film %s." % film_id)
def results(request, film_id):
response = "You're looking at the results of film %s."
return HttpResponse(response % question_id)
def vote(request, film_id):
return HttpResponse("You're commenting on film %s." % film_id)
电影/urls.py
from django.conf.urls import url
from django.urls import path
from . import views
urlpatterns = [
# url(r'^$', views.index, name='index'),
# ex: /polls/
path('', views.index, name='index'),
# ex: /films/5/
path('<int:film_id>/', views.detail, name='detail'),
# ex: /films/5/results/
path('<int:film_id>/results/', views.results, name='results'),
# ex: /films/5/vote/
path('<int:film_id>/vote/', views.vote, name='vote'),
]
这样我得到了 ERR_CONNECTION_REFUSED。如果我注释掉所有路径,只留下索引 url,并且注释掉 from django.urls import path
一个页面显示,但这是我在尝试添加更多视图之前所处的位置。
【问题讨论】:
您是使用DEBUG = True
还是DEBUG = False
运行服务器?您可以在settings.py
中查看。
在 settings.py 中当前显示 DEBUG = True
该错误与路径无关;如果这些错误,您将收到 404 错误。在这种情况下,听起来您只是没有运行服务器。
继丹尼尔所说的,你确定服务器正在运行吗?你如何开始它?它应该类似于python manage.py runserver
。
你应该确保使用你实际运行的Django版本的教程。
【参考方案1】:
您指的是较新 Django 版本的文档,因为旧版本中不存在 path()
。您可以通过点击右下角的Documentation version
按钮here 来选择文档版本。
【讨论】:
以上是关于在 Django 中添加路径以创建更多视图的主要内容,如果未能解决你的问题,请参考以下文章
难以将 slug 添加到 Django 中的通用详细信息视图