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
原文地址:https://www.cnblogs.com/kaid/p/8921922.html