python入门实践19章_《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

from django.conf.urls import include,url

from django.contrib import admin

urlpatterns=[

url(r’^admin/,include(admin.site.urls)),

url(r’‘,include(‘learning_logs.urls‘,namespace=’learning_logs‘)),

]

改为

from django.urls import path,include

……

urlpatterns=[

path(‘admin/’,admin.site.urls),

path(”,include((‘learning_logs.urls’,‘learning_logs’),

namespace=‘learning_logs’)),

]

梦翔儿注:’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

from django.contrib.auth.views import login

…..

url(r’^login/$’,login,{template_name‘:’user/login.html},name=‘login’)

改为

from django.contrib.auth.views import LoginView

。。。。。

path(‘login/’,LoginView.as_view(template_name=‘users/login.html’),

name=‘login’),

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

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

DATABASES = {

‘default’: {

‘ENGINE’: ‘django.db.backends.sqlite3′,

‘NAME’: os.path.join(BASE_DIR, ‘db.sqlite3′),

‘DIRS’: [os.path.join(BASE_DIR, ‘users/Templates’)],

}

}

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值