《跟老齐学Python Django实战》读后感

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

相关文章
相关标签/搜索