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

为什么我现实的结果是TiTLE和CONTENT

edit_page.html

<form action="{% url 'blog:edit_action' %}",method ="post">
    {% csrf_token %}

    <label for="">文章标题
        <input type="text" name="title" value="{{ article.title }}">
    </label>
    <br>
    <label for="">文章内容
        <input type="text" name="content" value="{{ article.content }}">
    </label>
    <br>
    <input type="submit" value="提交">
</form>


urls.py

from django.urls import path,re_path
from django.conf.urls import url
from . import views
#import blog.views as bv
app_name = 'blog'
urlpatterns = [
    re_path('^$', views.index),
    path('article/<int:article_id>/',views.article_page,name='article_page'),
    re_path('^edit/$',views.edit_page,name='edit_page'),
    re_path('^edit/action/$',views.edit_action, name='edit_action'),

]

views.py

from django.http import HttpResponse
from . import models
# Create your views here.
def index(request):
    #return render(request,'index.html',{'hello blog4!':'hello'})
    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})

http://img1.sycdn.imooc.com//5e782a5500010d7e06660735.jpg


正在回答

2 回答

比较一下代码吧:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Form-Blog-Myblog-Django-Anaconda3-Python3.7</title>
</head>
<body>
<div>
    <form action="{% url 'blog:sub_form'%}" method="post">
        {% csrf_token %}
        <p>标题:<input type="text" name="title" {% if article %} value="{{ article.title }}" {% endif %}/></p>
        <p>内容:<textarea name="content" cols="36" rows="4">{% if article %}{{ article.content }}{% endif %}</textarea></p>
        {% if article %}<p><input type="hidden" name="id" value="{{ article.id }}"/></p>{% endif %}
        <p><input type="submit" value="保存"/><input type="reset" value="重置"/></p>
    </form>
    <p><a href="{% url 'blog:index' %}">返回主页</a></p>
</div>
</body>
</html>


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

DduanANan 提问者

谢谢帮我回答问题,我找到为啥错了,因为我的HTML里面多了一个逗号,你的代码在修改title后刷新旧的title还会出现吗
2020-03-23 回复 有任何疑惑可以回复我~
#2

慕仰0005684

回复 DduanANan:你好,你是咋解决的啊,我跟你的代码一样,没看到你哪来多了一个逗号啊。
2020-03-25 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

为什么我现实的结果是TiTLE和CONTENT

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信