Django:以相同的形式获取数据和编辑,在一个地方编辑

时间:2017-02-14 03:24:11

标签: python html django

我一直在努力创建一个编辑表单,其中显示数据保存在db中,用户可以像jsp模型和视图一样编辑它。当用户单击按钮时,它显示添加表单,但db中的所有相关信息已填写在表单中,因此用户可以修改旧数据,一旦他们单击提交按钮,它就会重定向到main。 当用户单击编辑按钮但未能获取数据时,我成功显示了一个表单。

这是views.py

SomeClass someClass = new SomeClass();
double sqArea = someClass.computeSquareArea(length); // This would be the method of your newly created Instance of SomeClass
System.out.println("Area of the square is " + sqArea);

urls.py

@login_required
def update_article(request, article_no):
   article = get_object_or_404(Article, no=article_no)
   if request.method == "POST":
       form = ArticleForm(request.POST, instance=article)
       if form.is_valid():
          post = form.save(commit=False)
          post.save()
          return redirect('blog.views.detail', no=article.no)
   else:
       form = ArticleForm(instance=article)
   return render(request, 'blog/update_article.html', {'form': form})

update_article.html

url(r'^update_article/(?P<article_no>[0-9]+)/$', views.update_article, name='update_article'),

detail.html 这是将用户发送到update_article.html

的页面的一部分
{% extends 'blog/base.html' %}
{% block body %}

<form class="form-horizontal" role="form" action="create_article.html" method="post" enctype="multipart/form-data">
{% csrf_token %}
    {% include 'blog/form_template.html' %}
       <button type="submit" class="button-primary">submit</button>

 </form>
 <a href="{% url 'blog:home' %}" class="button button-primary">list</a>

{% endblock %}

form_template.html

<form action="{% url 'blog:update_article' item.no %}" method="post" style="display: inline;">
  {% csrf_token %}
  <input type="hidden" name="no" value="{{ item.no }}" />
 <button type="submit" class="button-primary">edit</button>
 </form>

1 个答案:

答案 0 :(得分:0)

update_article次观看中 使用表单

传递article对象

return render(request, 'blog/update_article.html', {'form': form, 'article': article})

然后在html页面中形成

<form class="form-horizontal" role="form" action="create_article.html" method="post" enctype="multipart/form-data">

{% csrf_token %}
    {% include 'blog/form_template.html' %}
    <input class="u-full-width" type="text" name="title" value="{{article.title}}"/>
    <textarea class="u-full-width" name="content" value="{{article.content}}"></textarea>
       <button type="submit" class="button-primary">등록</button>

 </form>

我认为这有助于解决您的问题

我猜你的行动链接无效