【问题标题】:Django how to save model in viewDjango如何在视图中保存模型
【发布时间】:2013-05-16 13:03:27
【问题描述】:

我是 Django 新手。我遇到了无法将模型保存在views.py 中的问题。这个概念是有一个输入字段,用户可以在其中输入名称,然后使用 request.POST.get('attribute_name') 我可以保存我的模型,但它不起作用。当我打印该模型中所有对象的列表时,那里什么都没有,即使在所有这些过程中我都没有收到错误消息。

模板:

<form id="save_form" method="post" action="{% url 'project_view.views.projectz_save' %}">
{% csrf_token %}
<table>
<tr>
    <td>Project Name</td>
    <td><input name="projectz_name"/></td>
</tr>
</table>
<input type="submit" value="Save" />
</form>

views.py:

def projectz_save(request):
try: 
    p = Project(name=request.POST.get('projectz_name'))
    p.save()
    return redirect('http://www.google.com/')
except:
    return redirect('http://www.google.com/')

应用网址:

urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^$', views.register, name='register'),
url(r'^$', views.projectz_save, name='project_save'),

)

网站网址:

urlpatterns = patterns('',

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

我什至在 google.com 上添加了一些愚蠢的重定向代码,只是为了查看 views.py 是否正在执行,但它不起作用,尽管就像我说的没有错误消息,页面只是刷新。我确定我做错了很容易解决,但我是个菜鸟。 :D

【问题讨论】:

  • 你能出示你的urls.py吗?
  • 好的,在那里编辑它们...感谢您的查看!
  • 你能检查一下action在你的html中生成url标签吗?

标签: python django django-models django-templates django-views


【解决方案1】:

好吧,我想也许我发现了问题所在。 view 未执行,因为您在项目urls.py 中定义了三个具有确切regex 的url:

urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^$', views.register, name='register'),
url(r'^$', views.projectz_save, name='project_save'),
)

Django 通过以它们出现的方式迭代模式来匹配它的 url,因此在该文件中所有 url 都将匹配 index。这可能是页面看起来令人耳目一新的原因。试着稍微修改一下:

urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^register$', views.register, name='register'),
url(r'^save$', views.projectz_save, name='project_save'),
)

这样,如果表单的action与url正则表达式匹配,则可以在views.py中执行projectz_save方法。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2014-02-26
    • 2016-07-18
    • 2021-10-28
    • 2020-04-17
    • 2019-01-17
    • 1970-01-01
    • 2023-03-23
    • 2016-06-13
    • 1970-01-01
    相关资源
    最近更新 更多