1.說一下這本書,講解的很細緻,內容選取足夠入門Django。html
2.在學習這本書要注意的幾點:python
<1>若是你想跟着敲這本書的代碼必需要安裝:Django版本1.10.1(固然也能夠玩玩新版本Django2,中間有些部分須要本身goole來解決)和如下內容:git
sudo pip3 install django==1.10.1github
sudo pip3 install pytzredis
sudo pip3 install django-password-reset數據庫
sudo pip3 install redisdjango
sudo pip3 install Markdownless
sudo pip3 install Pillowpost
sudo pip3 install sorl-thumbnail學習
sudo pip3 install django-braces
sudo pip3 install awesome-slugify
<2>這本書源碼下載地址:https://github.com/qiwsir/DjangoPracticeProject
再說一下源碼:若是按照<1>中安裝好,導入的包基本上不會有什麼問題,由於這個項目就是針對Django1.10開發的。
說基礎錯誤的地方
>1 login.html
源碼中
<p style="margin-top:10px">Forgot your password? <a href="{% url 'pwd_reset' %}">reset password</a></p>
</div>
改成以下:
<p style="margin-top:10px">Forgot your password? <a href="{% url 'pwd_reset:password_reset_recover' %}">reset password</a></p>
</div>
>2 這個錯誤是一個數據庫問題的錯誤:在建立多對一的關係的,須要在Foreign的第二參數中加入on_delete=models.CASCADE 這是主外關係鍵中的級聯刪除,也就是當刪除主表的數據時候從表中的數據也隨着一塊兒刪除。
account應用中models
user = models.OneToOneField(User, unique=True, on_delete=models.CASCADE)
user = models.OneToOneField(User, unique=True, on_delete=models.CASCADE)
article應用中的models
user = models.ForeignKey(User, related_name='article_column', on_delete=models.CASCADE)
author = models.ForeignKey(User, related_name="tag", on_delete=models.CASCADE)
blog應用中的models
author = models.ForeignKey(User, related_name='blog_posts', on_delete=models.CASCADE)
course應用中models
user = models.ForeignKey(User, related_name='lesson_user', on_delete=models.CASCADE)
course = models.ForeignKey(Course, related_name='lesson', on_delete=models.CASCADE)
image應用中的models
user = models.ForeignKey(User, related_name="images", on_delete=models.CASCADE)
<3>修改好後運行 python manage.py makemigrations 建立數據表
運行 python manage.py migrate 建立數據庫
<4>按照以上修改,源碼就能夠運行了
Python manage.py runserver
固然,若是你想進入後臺管理,就須要本身建立超級管理員
python manage.py createsuperuser