- 【Django】错误提示:
specifying a namespace in include() without providing an app_name
解决措施:
python3 Django环境下,如果namespace没有注册以及在根目录下urls.py中的include方法的第二个参数namespace添加之后就出错的问题,则需要在app_name目录下的urls.py中的urlpatterns前面加上app_name = '[app_name]',[app_name]代表应用名称。
image.png - 【Django】错误提示:
No module named 'django.core.urlresolvers'
解决措施:
from django.urls import reverse
原因就是:django2.0 把原来的 django.core.urlresolvers 包更改为了django.urls包,所以我们需要把导入的包都修改一下就可以了。 - 【Django】错误提示:
TypeError: __init__() missing 1 required positional argument: 'on_delete'
解决措施:
属于外键的使用问题,需要外键中添加on_delete属性。
image.png - 【heroku】错误提示:
push到heroku失败:[remote rejected] master -> master (pre-receive hook declined)
解决措施:
根据错误提示信息:
image.png
修改对应配置:
image.png - 【scrapy】错误提示:
```通过pycharm或者pip安装的scrapy,在创建scrapy项目时总提示“scrapy不是内部或者外部命令”。````
解决措施:
首先通过pip uninstall scrapy 将已安装的卸载,然后从网上下载scrapy.whl文件,手动安装,问题解决。 - 【scrapy】错误提示:
爬虫出现Forbidden by robots.txt,无法正常运行parse方法
解决措施:
在settings.py中将ROBOTSTXT_OBEY 修改为False。
关于ROBOTSTXT_OBEY :
在scrapy中创建项目以后,在settings文件中有这样的一条默认开启的语句:
ROBOTSTXT_OBEY = True
观察代码可以发现,默认为True,就是要遵守robots.txt 的规则,那么 robots.txt 是个什么东西呢?
通俗来说, robots.txt 是遵循 Robot协议 的一个文件,它保存在网站的服务器中,它的作用是,告诉搜索引擎爬虫,本网站哪些目录下的网页不希望你进行爬取收录。在Scrapy启动后,会在第一时间访问网站的 robots.txt 文件,然后决定该网站的爬取范围。
当然,我们并不是在做搜索引擎,而且在某些情况下我们想要获取的内容恰恰是被 robots.txt 所禁止访问的。所以,某些时候,我们就要将此配置项设置为 False
未完待续... ...
网友评论