Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ';注册';对象没有属性';获取';_Python_Django - Fatal编程技术网

Python ';注册';对象没有属性';获取';

Python ';注册';对象没有属性';获取';,python,django,Python,Django,我想通过用户输入存储用户名,但出现以下错误: `AttributeError` at /sign/ `'signup' object has no attribute 'get'` 以下是我正在尝试运行的相关代码: models.py: views.py bookstore/url.py 当您将^sign/模式与注册视图匹配时,url.py文件中出现错误,但在视图中,您仅定义了视图签名 您所引用的错误是因为在您的符号视图中,您只处理POST请求,因此无法处理GET请求。您可以按以下方式进行更改

我想通过用户输入存储用户名,但出现以下错误:

`AttributeError` at /sign/ `'signup' object has no attribute 'get'`
以下是我正在尝试运行的相关代码:

models.py:

views.py

bookstore/url.py


当您将
^sign/
模式与
注册
视图匹配时,
url.py
文件中出现错误,但在视图中,您仅定义了视图
签名

您所引用的错误是因为在您的符号视图中,您只处理POST请求,因此无法处理GET请求。您可以按以下方式进行更改:

def标志(请求):
如有要求,请发送:
username=request.POST['username']
user=signup.objects.create(用户名=username)
返回呈现(请求,'bookstore/signup.html',{'username':username})
返回呈现(请求'bookstore/login.html')

其中,
bookstore/login.html
可以是一个简单的html表单,带有用户名字段,并提交到
^sign/

不是解决方案,但是,您是否缺少
模式()
调用中的最后一个参数?请提供完整的回溯?您第一次访问sign时的视图是否有代码(即,作为一个get)?我想你会去签名,输入你的用户名并点击submit,在这一点上它会调用post内容。是的,之前我在我的views.py中使用了get,但后来删除了它,你得到了一个答案:这段代码
url(r'^sign/$,views.signup,name='signup'))
建议您在views.py中使用一个名为signup的函数。您的函数只被称为
sign
,而不是
signup
将模板中的输入字段更改为:
class signup(models.Model):
    username = models.CharField(max_length = 50)

    def __unicode__ (self):
        return self.username
def sign(request):
    username = request.POST['username']
    user = signup.objects.create(username=username)
    return render(request,'bookstore/signup.html',{'username': username})
from django.conf.urls import patterns, url
from bookstore import views
urlpatterns = patterns(' ',
    url(r'^$',views.home, name = 'home'),
    url(r'^sign/$', views.signup,name='signup'),
    url(r'^bookshow/$',views.bookshow,name='bookshow'),
    url(r'^bookshow/(?P<book_id>\d+)/$',views.bookdetails, name='bookdetails'),
) 
 <html>


         <h2>WELCOME TO BOOKSTORE<h2>
        <h3>LOGIN TO GET IN LIBRARAY<h3>



 {% if errors %}
     <ul>
         {% for error in errors %}
         <li>{{ error }}</li>
         {% endfor %}
     </ul>
  {% endif %}


  <div>
 <form action="/sign/" method = "POST">
     {% csrf_token %}

    <input type="text" username="username" placeholder="USERNAME"/><br />
    <input type="submit" value = "signup"/>
 </form>
  </div>

 </html>
 AttributeError at /sign/
 'signup' object has no attribute 'get'
 Request Method:    GET
 Request URL:
 Django Version:    1.6.2
 Exception Type:    AttributeError
 Exception Value:   
 'signup' object has no attribute 'get'
 Exception Location:    /usr/local/lib/python2.7/dist-           packages/django/middleware/clickjacking.py in process_response, line 30
 Python Executable: /usr/bin/python
 Python Version:    2.7.5
 Python Path:   
 ['/home/prakhar/pp/django/mysit',
 '/usr/local/lib/python2.7/dist-packages/pylint-1.1.0-py2.7.egg',
 '/usr/local/lib/python2.7/dist-packages/astroid-1.0.1-py2.7.egg',
 '/usr/local/lib/python2.7/dist-packages/logilab_common-0.61.0-py2.7.egg',
 '/usr/local/lib/python2.7/dist-packages/pep8-1.5.3-py2.7.egg',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-x86_64-linux-gnu',
 '/usr/lib/python2.7/lib-tk',
 '/usr/lib/python2.7/lib-old',
 '/usr/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages/PILcompat',
 '/usr/lib/python2.7/dist-packages/gtk-2.0',
 '/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
 '/usr/lib/python2.7/dist-packages/ubuntuone-client',
 '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel',
 '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']