1. 程式人生 > >《跟老齊學Python Django實戰》讀後感

《跟老齊學Python Django實戰》讀後感

會有 內容 migration 讀後感 onetoone OS redis 部分 mar

1.說一下這本書,講解的很細致,內容選取足夠入門Django。

2.在學習這本書要註意的幾點:

<1>如果你想跟著敲這本書的代碼必須要安裝:Django版本1.10.1(當然也可以玩玩新版本Django2,中間有些部分需要自己goole來解決)和以下內容:

sudo pip3 install django==1.10.1

sudo pip3 install pytz

sudo pip3 install django-password-reset

sudo pip3 install redis

sudo pip3 install Markdown

sudo pip3 install Pillow

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

《跟老齊學Python Django實戰》讀後感