【Python学习】No1.常见错误记录(1)

  1. 【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
  2. 【Django】错误提示:
    No module named 'django.core.urlresolvers'
    解决措施:
    from django.urls import reverse
    原因就是:django2.0 把原来的 django.core.urlresolvers 包更改为了django.urls包,所以我们需要把导入的包都修改一下就可以了。
  3. 【Django】错误提示:
    TypeError: __init__() missing 1 required positional argument: 'on_delete'
    解决措施:
    属于外键的使用问题,需要外键中添加on_delete属性。
    image.png
  4. 【heroku】错误提示:
    push到heroku失败:[remote rejected] master -> master (pre-receive hook declined)
    解决措施:
    根据错误提示信息:
    image.png

    修改对应配置:
    image.png
  5. 【scrapy】错误提示:
    ```通过pycharm或者pip安装的scrapy,在创建scrapy项目时总提示“scrapy不是内部或者外部命令”。````
    解决措施:
    首先通过pip uninstall scrapy 将已安装的卸载,然后从网上下载scrapy.whl文件,手动安装,问题解决。
  6. 【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

未完待续... ...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容