记录一下最近再次入坑Django过程中遇到的坑吧

记录一下最近再次入坑Django过程中遇到的坑吧-夏普博客

背景

  • 在去了兰州植物园和所谓的兰州天府沙宫接连失望后,十月底的这个双休日就不想再出去浪了,干脆在酒店学起Django了。

环境

  • Django 2.0.5
  • Python 3.6.8
  • OS Linuxmint 19.2

坑一

  • admin.py中注册了模块后,django的后台页面死活刷新不出来新注册的模块,试过多次刷新,没什么卵用,还试过
    重启开发服务器再刷新,也还是没用,最后你猜怎么解决的,退出后台再重新进入就有了,shit!!!

坑二

  • 在运行python manage.py shell之后报以下错误,
  File "manage.py", line 13
    ) from exc
         ^
SyntaxError: invalid syntax

一开始百思不得其解,后来Google了一下在看到一篇SO上的介绍后恍然意识到是没进虚拟环境,source .venv/bin/activate
之后再运行上面的命令马上就好了。

坑三

  • 在看Django 2 by Example的第二章的某一节的时候要我在某个模板里面添加一个p标签,我添加的位置如下:
{% block title %}My Blog{% endblock %}
<p class="tags">Tags: {{ post.tags.all|join:", " }}</p>
{% block content %}
{% endblock %}

本来以为即使post.tags.all|join:", "没有获取到值也会有个Tags: 显示在页面上,结果呢,啥都没有,各种重启服务,反复刷新页面依然没有在指定的位置显示我想要的效果,就在快要绝望的时候重新看了一下这个章节的描述,把p标签加到了content block内部的某个地方,马上显示了我想要的效果,真是有点坑呀。现在想想原因也很简单,这是一个子模板,所有的html不放在{% block %}内部的话是自然不会被渲染的。

坑四

2020-04-03更新 最近在看《python3 自动化软件发布系统》这本书,看到5.7.4这一小节中的访问前端页面url(http://127.0.0.1:8000/accounts/register)看看效果的时候报了Reverse for 'login' not found的错误,

鸡汁的我一眼就看出来这个错误是因为模板中{% url 'login' %}这个地方的url标签引用的login路由还没有定义导致的,于是再次鸡汁的我马上就用html的注释语法<!--  -->把这行html代码给注释了,

可是在我反复刷新页面之后同样的错误仍然被报出来,各种重启和清理缓存都试了一遍都没有用,就在我快要崩溃的时候突然意识到了这不是普通的html模板呀,这是django的模板呀,而django模板的注释语法是{# #}呀,于是我换了这种django模板的注释语法,然后刷新了一下前端页面,奇迹出现了,django木有报任何错误,精美的页面出现在了我的面前。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注