- 【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
未完待續... ...