《python编程从入门到实践》第一版 18,19章 django 新版本代码更改

《Python编程从入门到实践》18,19章 django 新版本代码更改            (2020.5)

对你有帮助的话,点个赞支持一下,蟹蟹

18.2.4 定义模型Entry

model.py

topic=models.ForeignKey(Topic)

改为

topic=models.ForeignKey(Topic,on_delete=models.CASCADE)

在后面19.3.2              外键都需要添加on_delete=models.CASCADE

models.py

owner=models.ForeignKey(User,on_delete=models.CASCADE)

18.3.1映射URL

  1. from django.conf.urls import include,url
  2. from django.contrib import admin
  3. urlpatterns=[
  4. url(r’^admin/,include(admin.site.urls)),
  5. url(r’‘,include(‘learning_logs.urls‘,namespace=’learning_logs‘)),
  6. ]

改为

  1. from django.urls import path,include
  2. ……
  3. urlpatterns=[
  4. path(‘admin/’,admin.site.urls),
  5. path(,include((‘learning_logs.urls’,‘learning_logs’),
  6. namespace=‘learning_logs’)),
  7. ]

梦翔儿注:’learning_logs’不加会404错位

重复的地方不做修改了,url改为path 把’r^$’ 三个符号去掉,后面都这样改

后面的 转到user.urls与转到learning_logs.urls形式一样

19.1.1

views.py

from django.core.urlresolvers import reverse

改为

from django.urls import reverse

梦翔儿 注:

from django.shortcuts import render

from django.http import HttpResponseRedirect

改为

from django.shortcuts import render, redirect

19.2.2

urls.py

  1. from django.contrib.auth.views import login
  2. …..
  3. url(r’^login/$’,login,{template_name‘:’user/login.html},name=‘login’)

改为

  1. from django.contrib.auth.views import LoginView
  2. 。。。。。
  3. path(‘login/’,LoginView.as_view(template_name=‘users/login.html’),
  4. name=‘login’),

并且要在项目setting.py文件中添加一行

‘DIRS’: [os.path.join(BASE_DIR, 'users/Templates')],      目的是让django找到 template_name 中的地址 在那个程序里

  1. DATABASES = {
  2. ‘default’: {
  3. ‘ENGINE’: ‘django.db.backends.sqlite3′,
  4. ‘NAME’: os.path.join(BASE_DIR, ‘db.sqlite3′),
  5. ‘DIRS’: [os.path.join(BASE_DIR, ‘users/Templates’)],
  6. }
  7. }

其他地方出错,应该就是你敲错代码了^ ^  完成如下

from:https://blog.csdn.net/a941142074/article/details/106001577?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control

原文链接:,转发请注明来源!

发表评论