当前位置: 首页 > news >正文

东莞网站建设方案托管国外购物平台排行榜前十名

东莞网站建设方案托管,国外购物平台排行榜前十名,小程序seo推广技巧,企业查询员工犯罪记录目录 20.2.15 确保项目的安全 settings.py 20.2.16 提交并推送修改 20.2.17 创建自定义错误页面 1. 创建自定义模板 500.html settings.py settings.py 注意 views.py 20.2.18 继续开发 往期快速传送门#x1f446;#xff08;在文章最后#xff09;#xff1a… 目录 20.2.15 确保项目的安全 settings.py 20.2.16 提交并推送修改 20.2.17 创建自定义错误页面 1. 创建自定义模板 500.html settings.py settings.py 注意 views.py 20.2.18 继续开发 往期快速传送门在文章最后 感谢大家的支持欢迎订阅收藏专栏将持续更新 20.2.15 确保项目的安全 当前我们部署的项目存在一个严重的安全问题settings.py包含设置DEBUGTrue它在发生错误时显示调试信息。开发项目时Django的错误页面向你显示了重要的调试信息如果将项目 部署到服务器后依然保留这个设置将给攻击者提供大量可供利用的信息。我们还需确保任何人 都无法看到这些信息也不能冒充项目托管网站来重定向请求。 下面来修改settings.py以让我们能够在本地看到错误消息但部署到服务器后不显示任何 错误消息 settings.py --snip-- # Heroku设置 if os.getcwd() /app:--snip--# 让request.is_secure()承认X-Forwarded-Proto头SECURE_PROXY_SSL_HEADER (HTTP_X_FORWARDED_PROTO, https)# 只允许Heroku托管这个项目 1 ALLOWED_HOSTS [learning-log.herokuapp.com] 2 DEBUG False# 静态资产配置--snip-- 我们只需做两方面的修改。在1处修改ALLOWED_HOSTS只允许Heroku托管这个项目。你需 要使用应用程序的名称可以是Heroku提供的名称如afternoon-meadow-2775.herokuapp.com 也可以是你选择的名称。在2处我们将DEBUG设置为False让Django不在错误发生时显示敏感 信息。 20.2.16 提交并推送修改 现在需要将对settings.py所做的修改提交到Git仓库再将修改推送到Heroku。下面的终端会 话演示了这个过程 1 (ll_env)learning_log$ git commit -am Set DEBUGFalse for Heroku. [master 081f635] Set DEBUGFalse for Heroku. 1 file changed, 4 insertions(), 2 deletions(-) 2 (ll_env)learning_log$ git status # On branch master nothing to commit, working directory clean (ll_env)learning_log$ 我们执行命令git commit并指定了一条简短而具有描述性的提交消息见1。别忘了标 志-am让Git提交所有修改过的文件并记录一条日志消息。Git找出唯一一个修改过的文件并将 所做的修改提交到仓库。 2处显示的状态表明我们在仓库的分支master上工作当前没有任何未提交的修改。推送到Heroku之前必须检查状态并看到刚才所说的消息。如果你没有看到这样的消息说明有未提交 的修改而这些修改将不会推送到服务器。在这种情况下可尝试再次执行命令commit但如果 你不知道该如何解决这个问题请阅读附录D更深入地了解Git的用法。 下面来将修改后的仓库推送到Heroku (ll_env)learning_log$ git push heroku master --snip-- remote: ----- Python app detected remote: ----- Installing dependencies with pip --snip-- remote: ----- Launching... done, v8 remote: https://learning-log.herokuapp.com/ deployed to Heroku remote: Verifying deploy.... done. To https://git.heroku.com/learning-log.git4c9d111..ef65d2b master - master (ll_env)learning_log$ Heroku发现仓库发生了变化因此重建项目确保所有的修改都已生效。它不会重建数据库 因此这次无需执行命令migrate。 现在要核实部署更安全了请输入项目的URL并在末尾加上我们未定义的扩展。例如尝 试访问http://learning-log.herokuapp.com/letmein/。你将看到一个通用的错误页面它没有泄露任 何有关该项目的具体信息。如果你尝试向本地的“学习笔记”发出同样的请求——输入URL http://localhost:8000/letmein/你将看到完整的Django错误页面。这样的结果非常理想你接着开 发这个项目时将看到信息丰富的错误消息但用户看不到有关项目代码的重要信息。 20.2.17 创建自定义错误页面 在第19章我们对“学习笔记”进行了配置使其在用户请求不属于他的主题或条目时返回 404错误。你可能还遇到过一些500错误内部错误。404错误通常意味着你的Django代码是正确 的但请求的对象不存在。500错误通常意味着你编写的代码有问题如views.py中的函数有问题。 当前在这两种情况下Django都返回通用的错误页面但我们可以编写外观与“学习笔记”一 致的404和500错误页面模板。这些模板必须放在根模板目录中。 1. 创建自定义模板 在文件夹learning_log/learning_log中新建一个文件夹并将其命名为templates再在这个 文件夹中新建一个名为404.html的文件并在其中输入如下内容 404.html {% extends learning_logs/base.html %} {% block header %}h2The item you requested is not available. (404)/h2 {% endblock header %} 这个简单的模板指定了通用的404错误页面包含的信息并且该页面的外观与网站的其他部 分一致。 再创建一个名为500.html的文件并在其中输入如下代码 500.html {% extends learning_logs/base.html %} {% block header %}h2There has been an internal error. (500)/h2 {% endblock header %} 这些新文件要求对settings.py做细微的修改 settings.py --snip-- TEMPLATES [{BACKEND: django.template.backends.django.DjangoTemplates,DIRS: [os.path.join(BASE_DIR, learning_log/templates)],APP_DIRS: True,--snip--}, ] --snip- 这项修改让Django在根模板目录中查找错误页面模板。 2. 在本地查看错误页面 在将项目推送到Heroku之前如果你要在本地查看错误页面是什么样的首先需要在本地设 置中设置DebugFalse以禁止显示默认的Django调试页面。为此可对settings.py做如下修改请 确保你修改的是用于本地环境的settings.py部分而不是用于Heroku的部分 settings.py --snip-- # 安全警告不要在在线环境中启用调试 DEBUG False ALLOWED_HOSTS [localhost] --snip-- DEBUG被设置为False时你必须在ALLOWED_HOSTS中指定一个主机。现在请求一个不属于你 的主题或条目以查看404错误页面请求不存在的URL如localhost:8000/letmein/以查看500 错误页面。 查看错误页面后将DEBUG重新设置为True以方便你进一步开发“学习笔记”。在settings.py 中用于Heroku部署的部分中确保DEBUG依然被设置为False。 注意 500错误页面不会显示任何有关当前用户的信息因为发生服务器错误时Django不会通 过响应发送任何上下文信息。 3. 将修改推送到Heroku 现在需要提交对模板所做的修改并将这些修改推送到Heroku 1 (ll_env)learning_log$ git add . 2 (ll_env)learning_log$ git commit -am Added custom 404 and 500 error pages.3 files changed, 15 insertions(), 10 deletions(-)create mode 100644 learning_log/templates/404.htmlcreate mode 100644 learning_log/templates/500.html 3 (ll_env)learning_log$ git push heroku master --snip-- remote: Verifying deploy.... done. To https://git.heroku.com/learning-log.git2b34ca1..a64d8d3 master - master (ll_env)learning_log$ 在1处我们执行了命令git add这是因为我们在项目中创建了一些新文件因此需要让 Git跟踪这些文件。然后我们提交所做的修改见2并将修改后的项目推送到Heroku见3。 现在错误页面出现时其样式应该与网站的其他部分一致这样在发生错误时用户将不 会感到突兀。 4. 使用方法get_object_or_404() 现在如果用户手工请求不存在的主题或条目将导致500错误。Django尝试渲染请求的页 面但没有足够的信息来完成这项任务进而引发500错误。对于这种情形将其视为404错误更 合适为此可使用Django快捷函数get_object_or_404()。这个函数尝试从数据库获取请求的对象 如果这个对象不存在就引发404异常。我们在views.py中导入这个函数并用它替换函数get() views.py --snip-- from django.shortcuts import render, get_object_or_404 from django.http import HttpResponseRedirect, Http404 --snip-- login_required def topic(request, topic_id):显示单个主题及其所有的条目topic get_object_or_404(Topic, idtopic_id)# 确定主题属于当前用户--snip-- 现在如果你请求不存在的主题例如使用URL http://localhost:8000/topics/999999/将 看到404错误页面。为部署这里所做的修改再次提交并将项目推送到Heroku。 20.2.18 继续开发 将项目“学习笔记”推送到服务器后你可能想进一步开发它或开发要部署的其他项目。更 新项目的过程几乎完全相同。 首先你对本地项目做必要的修改。如果在修改过程中创建了新文件使用命令git add . 千万别忘记这个命令末尾的句点将它们加入到Git仓库中。如果有修改要求迁移数据库也需 要执行这个命令因为每个迁移都将生成新的迁移文件。 然后使用命令git commit -am commit message将修改提交到仓库再使用命令git push heroku master将修改推送到Heroku。如果你在本地迁移了数据库也需要迁移在线数据库。为 此你可以使用一次性命令heroku run python manage.py migrate也可使用heroku run bash打 开一个远程终端会话并在其中执行命令python manage.py migrate。然后访问在线项目确认 你期望看到的修改已生效。 在这个过程中很容易犯错因此看到错误时不要大惊小怪。如果代码不能正确地工作请重 新审视所做的工作尝试找出其中的错误。如果找不出错误或者不知道如何撤销错误请参阅 附录C中有关如何寻求帮助的建议。不要羞于去寻求帮助每个学习开发项目的人都可能遇到过 你面临的问题因此总有人乐意伸出援手。通过解决遇到的每个问题可让你的技能稳步提高 最终能够开发可靠而有意义的项目还能解决别人遇到的问题。 关于“Python”的核心知识点整理大全62-CSDN博客 关于“Python”的核心知识点整理大全37-CSDN博客 关于“Python”的核心知识点整理大全25-CSDN博客 关于“Python”的核心知识点整理大全12-CSDN博客 往期快速传送门在文章最后 感谢大家的支持欢迎订阅收藏专栏将持续更新
http://www.w-s-a.com/news/315485/

相关文章:

  • 空间站做网站什么版本wordpress 勾子
  • win7网站服务器制作软件网站浏览图片怎么做的
  • 网站制作平台公司嵌入式软件开发环境
  • 网站服务器镜像微商做网站网站
  • 十大旅游电子商务网站网上定做衣服
  • 怎样进行网站备案上海发布公众号app
  • 网站后台模板论坛网站优化招商
  • 个人网站设计作品能用VUE做网站
  • 网站建设预付阿里云域名备案查询
  • 苏州本地网站免费咨询医生的软件
  • 个人网站做废品回收福建网站开发招聘
  • wordpress网站备案学设计常用的网站
  • 网站建设的频道是什么网站用什么开发软件做
  • 电子商务网站建设与规划总结外链查询网站
  • 西安网站品牌建设做网站需要的东西
  • 网站外围网站怎么做移动端网站开发项目
  • 做网站只做前端可以用吗知更鸟免费 wordpress
  • html5 微信网站主流开发技术标准网站搭建费用
  • 加强统计局网站的建设和管理广州微信网站建设价格
  • 华宁网站建设设计公司 网站
  • 简历网站免费怎么查在哪个网站做的备案
  • 响应式网站 价格网站用哪些系统做的比较好用
  • 高端网站案例360做的网站
  • 瑞安地区建设网站公众号开发者工具是干嘛的
  • 请解释网站开发的主要流程.wordpress主体上传
  • 网站方案组成要素饰品公司网站建设方案
  • 网站改版被降权赣州景文网络科技有限公司
  • 吉林省网站建设推广图片模版
  • 如何做网站热力图佛山 网站关键词优化
  • 个人网站建设论文中期报告申报网站建设理由 模板