上面的try ... except就是用来检查KeyError,如果没有给出choice将重新显示Question表单和错误信息; 在将Choice得票数加1之后,返回一个HttpResponseRedirect...它需要我们给出想要跳转的视图的名字和该视图所对应的URL模式中需要给该视图提供的参数。... 现在,在浏览器中访问/polls/1/然后为Question投票。应该看到一个投票结果页面,并且在每次投票后都会更新。 如果提交时没有选择任何Choice,应该会看到错误信息。...改进URLconf # polls/urls.py from django.conf.urls import url from . import views app_name = 'polls'...默认情况下,DetailView泛型视图使用一个称作app name>/_detail.html的模板。
要实现这个命令,需将polls/management/commands/closepoll.py编辑成这样: from django.core.management.base import BaseCommand...利用系统的检测框架检测全部Django项目的潜在问题。严重的问题将引发CommandError;警告会输出到标准错误输出;次要的通知会输出到标准输出。...app为None,那么将检查安装的所有应用的错误。...AppCommand.handle_app_config(app_config, **options) 对app_config完成命令行的动作,其中app_config是AppConfig的实例,对应于在命令行上给出的应用标签...Changed in Django 1.7: 以前,AppCommand子类必须实现handle_app(app, **options),其中app是一个模型模块。
一旦其中的一个正则表达式匹配上,Django 将导入并调用给出的视图,它是一个简单的Python 函数(或者一个基于类的视图)。视图将获得如下参数: 一个HttpRequest 实例。...如果没有匹配到正则表达式,或者如果过程中抛出一个异常,Django 将调用一个适当的错误处理视图。请参见下面的错误处理。...错误处理 当Django 找不到一个匹配请求的URL 的正则表达式时,或者当抛出一个异常时,Django 将调用一个错误处理视图。 这些情况发生时使用的视图通过4个变量指定。...', namespace='publisher-polls', app_name='polls')), ] #polls/urls.py from django.conf.urls import url...如果你只是传递3个参数:include(polls_patterns, 'polls', 'author-polls'),Django 不会抛出一个错误,但是根据include() 的功能,’polls
app app是Django项目的应用,一个project可以包含多个app。.../ __init__.py models.py tests.py views.py polls/ app的Python包,可以放在任意路径。...apps.py app配置信息,例如: from django.apps import AppConfig class PollsConfig(AppConfig): name = 'polls...('polls.urls')), ] polls/urls.py: from django.urls import path from . import views urlpatterns = [...然后给出了工程化项目参考。项目结构没有标准,只有适用于当前的最佳实践,可能这就是官方没有给出标准项目结构的原因吧。
如果有翻译错误的地方欢迎在评论中指正。 Let’s learn by example....如果你已经安装了Django,那么你应该会看到Django的版本号,反之,你将会看到错误提示“No module named django”。...Your app directory should now look like: 在polls目录下创建urls.py文件。现在你的应用目录应该是这样的。...fun_polls/”, or under “/content/polls/”, or any other path root, and the app will still work. include...我们将在接下来的教程中给出样例。
默认的设置文件设置了 DjangoTemplates后端,并将APP_DIRS设置成了True。...因为app_directories 模板加载器是通过上述描述的方法运行的,所以Django可以引用到polls/index.html这一模板了。.../index.html", context) 抛出 404 错误 现在,我们来处理投票详情视图——它会显示指定投票的问题标题。...() 函数获取一个对象,如果不存在就抛出 Http404 错误也是一个普遍的流程。...在polls/urls.py文件中稍作修改,加上app_name设置命名空间 from django.urls import path from . import views app_name =
You're at the polls index.") 这是Django中最简单的视图。要调用视图,我们需要将其映射到URL - 为此我们需要一个URLconf文件。...models.py tests.py urls.py views.py 打开polls/urls.py文件,在文件中输入代码: from django.urls import...Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes...输入http://127.0.0.1:8000/网址访问,会出现以下错误信息: ?...后台服务返回日志: Not Found: / [25/Sep/2018 17:31:54] "GET / HTTP/1.1" 404 2027 出现以上错误是因为,你访问的地址应该是: http://127.0.0.1
因为 Django 会寻找到对应的 app_directories ,所以你只需要使用 polls/index.html 就可以引用到这一模板了。.../index.html', context) 4 视图页面细化 - 抛出 404 错误 现在,我们来处理投票详情视图——它会显示指定投票的问题标题。..._404() 尝试用 get() 函数获取一个对象,如果不存在就抛出 Http404 错误也是一个普遍的流程。...在 polls/urls.py 文件中稍作修改,加上 app_name 设置命名空间: from django.urls import path from . import views app_name...app/templates/app/xx.html 负责前端页面的模版。在模版使用时,有三点细节需要记忆下: 1.变量访问。
”的错误提示,则表明你还未安装。...You have unapplied migrations; your app may not work properly until they are applied....打开 polls/views.py,把下面这些 Python 代码输入进去: polls/views.py¶ from django.http import HttpResponse def index...如果你在这里得到了一个错误页面,检查一下你是不是正访问着http://localhost:8000/polls/ 而不应该是 http://localhost:8000/。...稍后,我们会给出一个例子。 path() 参数: kwargs 任意个关键字参数可以作为一个字典传递给目标视图函数。本教程中不会使用这一特性。
如果请求的URL没有匹配到任何一个正则表达式,或者在匹配过程的任何时刻抛出了一个异常,那么Django 将调用适当的错误处理视图进行处理。请参见下面的错误处理。...错误处理¶ 当Django 找不到一个匹配请求的URL 的正则表达式时,或者当抛出一个异常时,Django 将调用一个错误处理视图。 这些情况发生时使用的视图通过4个变量指定。...', namespace='publisher-polls', app_name='polls')), ] polls/urls.py from django.conf.urls import url...例如: url(r'^polls/', include('polls.urls', namespace='author-polls', app_name='polls')), 这将包含polls.urls...如果你只是传递3个参数:include(polls_patterns, 'polls', 'author-polls'),Django 不会抛出一个错误,但是根据include() 的功能,'polls
有关这一点我们会给出一个例子。 url() 参数: kwargs 任意关键字参数可传一个字典至目标视图。在本教程中,我们并不打算使用 Django 这一特性。...其中有一个默认值是 django.template.loaders.app_directories.Loader ,Django 就会在每个 INSTALLED_APPS 的 “templates” 子目录下查找模板...由于知道如上所述的 app_directories 模板加载器是 如何运行的,你可以参考 Django 内的模板简单的作为 polls/index.html 模板。...编写一个 404 ( 页面未找到 ) 视图 当你在视图中抛出 Http404 时,Django 将载入一个特定的视图来处理 404 错误。...服务器错误是指视图代码产生的运行时错误。 同样,你在模板根目录下创建一个 500.html 模板并且添加些像“出错了”的内容。
例:在manage.py所在目录,即项目根目录下运行命令来创建polls app F:\project\Django\FirstApp\mysite>python manage.py startapp...抛出404错误 polls/views.py from django.http import Http404 from django.shortcuts import render from .models...在polls/urls.py中添加app_name来设置应用的名称空间。...第一个 Django app Part5 略 第一个 Django app Part6 自定义app样式和感观。 在polls目录下新建static。Django会在这查找静态文件。类似查找模板。...第一个 Django app Part7 自定义管理站点 form polls/admin.py from django.contrib import admin from .models import
如果没有安装,你会得到一个错误,提示No module named django。 本教程是为Django 1.10和Python 3.4或更高版本编写的。...创建投票app 你编写的每个Django应用都是遵循特定约定且包含一个Python包。...Django自带这个功能,它可以自动生成应用的基本目录结构(就像创建项目那样) project和app区别: 一个app实现某个功能,比如博客、公共档案数据库或者简单的投票系统; 一个project...进入mysite目录,确保与manage.py文件处于同一级,并且键入以下命令来创建你的app: python manage.py startapp polls # polls为app的name 这将创建一个目录...from django.contrib import admin urlpatterns = [ url(r'^polls/', include('polls.urls')), url
处理异常 页面出现的异常情况,我们有一些特殊的状态处理方式,如常规情况下在HTTP协议中有一些特殊的状态编码,如404表示访问的资源不存在,500表示服务器内部错误等等,在Django中,我们也可以这么干...首先,捕获到用户访问的数据不存在的异常,然后抛出一个异常对象 改造polls/views.py中的detail函数如下: from django.http import Http404 # 问题详情函数...页面访问的404错误页面 3.4....此时就是我们路由的命名空间登场了,在urls.py模块中,增加一个app_name来定义一个路由的命名空间,后续的路由操作,可以通过命名空间的形式来指定路径了。...修改路由配置如下: polls/urls.py -------------------------- app_name="polls" urlpatterns = [ ....
React 和 Ant Design 构建的一个开源的投票应用,项目地址:https://github.com/callicoder/spring-security-react-ant-design-polls-app...WORKDIR /app COPY target/polls-0.0.1-SNAPSHOT.jar /app/polls.jar EXPOSE 8080 ENTRYPOINT ["java",.../urandom", "-jar","/app/polls.jar"] 由于服务端代码是基于Spring Boot构建的,所以我们这里使用一个openjdk的基础镜像,将打包过后的jar包放入镜像之中,...WORKDIR /app COPY --from=BUILD /usr/app/target/polls-0.0.1-SNAPSHOT.jar /app/polls.jar EXPOSE 8080.../urandom", "-jar","/app/polls.jar"] 前面课程中我们就讲解过 Docker 的多阶段构建,这里我们定义了两个阶段,第一个阶段利用maven:3.6-alpine这个基础镜像将我们的项目进行打包
上面的代码检查KeyError,如果没有给出choice 将重新显示Question表单和一个错误信息。...它需要我们给出我们想要跳转的视图的名字和该视图所对应的 URL 模式中需要给该视图提供的参数。...如果你提交时没有选择任何 Choice,你应该看到错误信息。 我们的 vote() 视图代码有一个小问题。...Django 将在该目录下查找静态文件,这种方式和 Diango在polls/templates/目录下查找 template的方式类似。...因为 AppDirectoriesFinder 的存在,你可以在 Django 中以 polls/style.css 的形式引用此文件,类似你引用模板路径的方式。
(二)第一个Django的app #环境:Python2.7,Django1.6,Ubuntu12.04 Python 及 Django 安装成功之后,就可以创建Django工程了...#设置完之后,开启服务,便可进入后台管理界面了:http://127.0.0.1:8000/admin/ (2)教你开始写Django1.6的第1个app #创建一个用于投票的app。...Django已经生成了,app通常所需的模板文件。 下面创建两个models。...然后修改工程的配置文件setting.py,在INSTALLED_APP元组下面添加刚才创建的app:polls dizzy@dizzy-pc:~/Python/mysite$ vim mysite/settings.py...'polls', ) #可以使用 python manage.py sql polls 查看app的建表SQL #使用 python manage.py syncdb 进行创建数据库表 dizzy@dizzy-pc
前面(1)(2)部分已经实现浏览器访问工程项目,并且能后台管理新创建的app。...(二)第一个Django的app ---- (3)教你开始写Django1.6的第1个app 前面已经完成了model(M)的设置。...现在在polls下面新建 urls.py from django.conf.urls import patterns,url from polls import views urlpatterns...-- 现在重启服务, 便可看到相应视图 --> (4)教你开始写Django1.6的第1个app 上面只是简单的实现了视图功能,并没有真正的实现投票功能。...# 文件 polls/views.py from django.shortcuts import get_object_or_404, render from django.http import HttpResponseRedirect
Django 自己是以非常相似的方式打包起来的。对于一个像polls这样的小应用,这个过程不是太难。 首先,在你的Django项目之外,为polls创建一个父目录。...创建一个包含一些内容的文件django-polls/README.rst: django-polls/README.rst ===== Polls ===== Polls is a simple Django...app to conduct Web-based polls....', # example license description='A simple Django app to conduct Web-based polls...: pip install --user django-polls/dist/django-polls-0.1.tar.gz 如果幸运,你的Django 项目现在应该可以再次正确工作。
i + Dict[i]);//注意,此处 i 为键值 } view-> JavaScript 如果数据要传给js用,那么按照上文的方式写会有错误...model_name值为customer 另外一个例子: index.html 在应用polls里创建templates文件夹,再在里面创建polls文件夹,在新建的polls里创建index.html...然后在polls的views里修改代码如下: polls/views.py from django.http import HttpResponse from django.template import...都需要,那么就可以在每个app下都可以建一个。...import csrf_exempt @csrf_exempt def ajaxview(request): pass 这样也可解决403错误问题 如使用表单提交可以在提交的表单中加入{%