我目前正在努力从这本书中学习Django,我读了大部分,现在我正试图编写一个自己的webapp。我真的不明白它们是如何相互作用的,它们是如何不协调的。在
我的网址.py文件如下。。。在
from django.conf.urls.defaults import patterns, include, url
from users.views import homepageview, submitted, referral_create
urlpatterns = patterns('',
(r'^$', homepageview),
(r'^submitted/$', referral_create),
在视图.py文件看起来像这样。。。在
^{pr2}$在表单.py文件看起来像
from django import forms
class ReferralCode(forms.Form):
referralcode = forms.CharField()
模板看起来像这样。。。在
{% extends "base.html" %}
{% block title %}
Enter your referral codes!
{% endblock %}
{% block content %}
<h1>Enter your code</h1>
{% if errors %}
<ul>
{% for error in errors %}
<li>{{ error }}</li>
{% endfor %}
</ul>
{% endif %}
<form action="" method="POST">
<p>Subject: <input type="text" name="subject" value="{{ referralcode }}"></p>
<input type="submit" value="Submit">
</form>
{% endblock %}
希望这足够的信息。在
我在找两样东西。首先,当我在提交表单后试图查看页面时,我没有找到位置,因为我假设“如果请求.方法=='POST':“未触发。很明显,这是很明显的,但我正处于这样一种模式中,我可以找到我生命中的缺陷。在
第二个问题基本上是请求帮助。不知怎么的,我读了好几章之后,似乎都没法相互联系。我知道模板和网址.py以及视图.py交互,我得到了(我想),但我不能真正理解数据库和表单如何相互作用,以及如何与视图/模板交互。比如说,我只是想要一个简单的表单,在这个表单中输入的任何用法都会写入数据库。。。你会怎么做?如果重要的话,我会用博士后。在
注意:模板中的表单和是我在这里找到的代码的一个修改版本,我试图通过操作来满足我的需求,但是失败了,所以不要过分的放弃,如果这没有意义的话,因为这些问题,我还没能处理那么多。在
由于我是新来的网站开发,我真的很感谢任何人愿意帮助我或指出我的正确方向。在
嗯,这里有不少问题。在
首先,您的表单由基本视图
homepageview
呈现,并提交回同一个URL。然而,表单处理逻辑在一个单独的视图中,它不会被调用。或者更改表单的action
参数以指向另一个URL,或者-更好-将所有逻辑移到同一个视图中。在其次,表单处理视图没有返回响应或呈现模板。这是Django中的一个错误,如果您成功地调用了该视图,您将看到一个异常。在
第三,我发现很难相信你读了整本Django的书,却没有看到任何关于模型或数据库的东西。这里没有迹象表明您已经设置了任何模型,但是没有这些模型,Django不会向数据库写入任何内容。您需要这样做,然后将您的表单更改为ModelForm子类,之后您可以成功地调用
form.save()
。在你在else子句中不返回任何内容。视图必须始终返回响应,这可以是几乎任何内容,但在大多数情况下,您将返回} 快捷方式)的(子)类的实例。最好在视图的底部有一个默认的返回值,为“特殊”响应添加一些早期返回值,否则让执行达到默认返回值—这样就不会出现什么都不返回的情况。
HttpResponse
(我非常喜欢^{{你必须通过一个模型来保存数据。通常执行模型如下:
就这样。这有点简单,但它几乎涵盖了所有重要的部分。在
相关问题 更多 >
编程相关推荐