为了账号安全,请及时绑定邮箱和手机立即绑定

提交修改时出现AttributeError at /blog/edit/action的错误

http://img1.sycdn.imooc.com//58d07cf00001af9310500921.jpg代码看了很多遍,没有差错,不知道哪里除了问题

edit_page.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Edit Page</title>
</head>
<body>
<form action="{% url 'blog:edit_action' %}" method="post">
    {% csrf_token %}
    <label>文章标题
        <input type="text" name="title">
    </label>
    <br/>
    <label>文章内容
        <input type="text" name="content">
    </label>
    <br/>
    <input type="submit" value="提交">

</form>
</body>
</html>

urls.py

from django.conf.urls import url,include

from . import views

urlpatterns = [
    url(r'^index/$', views.index),
    url(r'^article/(?P<article_id>[0-9]+)$', views.article_page, name='article_page'),
    url(r'^edit/$', views.edit_page, name="edit_page"),
    url(r'^edit/action$', views.edit_action, name='edit_action'),
]

views.py

from django.shortcuts import render
from django.http import HttpResponse

from . import models

def index(request):
    #return HttpResponse('Hello,World!')
    #return render(request, 'blog/index.html')
    articles = models.Article.objects.all()
    return render(request, 'blog/index.html', {'articles': articles})
def article_page(request, article_id):
    article = models.Article.objects.get(pk=article_id)
    return render(request,'blog/article_page.html', {'article': article})

def edit_page(request):
    return render(request, 'blog/edit_page.html')

def edit_action(request):
    title = request.POST.get('title', 'TITLE')
    content = request.POST.get('content', 'CONTENT')
    models.article.objects.create(title=title,content=content)
    articles = models.Article.objects.all()
    return render(request, 'blog/index.html', {'articles': articles})


正在回答

2 回答

article.save()
return render(request, 'blog/article_page.html', {'article': article}) #错,滥用空格

return render(request, 'blog/article_page.html',{'article': article}) #对

我也遇到了,多了个空格,卧槽,找好久才找到

0 回复 有任何疑惑可以回复我~

找到错误了- -,在views.py中有给数据库传数据的代码

models.article.objects.create(title=title,content=content)

应该改成:

models.Article.objects.create(title=title,content=content)

model.py中def方法的方法名用的是Article。。。

0 回复 有任何疑惑可以回复我~
#1

有梦想的小菜君

谢谢!
2018-07-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
django入门与实践
  • 参与学习       65117    人
  • 解答问题       898    个

手把手带你进入Django开发的大门,充分领略Django的魅力

进入课程

提交修改时出现AttributeError at /blog/edit/action的错误

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号