Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.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 允许用户在基于类的视图中编辑Django中Postgres的帐户详细信息_Python_Html_Django_Postgresql - Fatal编程技术网

Python 允许用户在基于类的视图中编辑Django中Postgres的帐户详细信息

Python 允许用户在基于类的视图中编辑Django中Postgres的帐户详细信息,python,html,django,postgresql,Python,Html,Django,Postgresql,我花了很长时间试图弄清楚如何允许我的网站用户编辑他们的帐户详细信息。我尝试了很多选择,但似乎都不管用。我的所有视图目前都是基于类的,而任何基于函数的视图都不起作用 我使用的是Django预先构建的用户模型,我使用的数据库是PostgreSQL。目前,我的主页可以导航到用户的帐户页面(如果已登录,则会将其发送到登录页面),其中有一个更新_user.html的链接。但是从这里开始,我不知道如何使用html表单将数据发送到python脚本,或者如何使用Django表单来收集数据,也不知道如何编写代码使

我花了很长时间试图弄清楚如何允许我的网站用户编辑他们的帐户详细信息。我尝试了很多选择,但似乎都不管用。我的所有视图目前都是基于类的,而任何基于函数的视图都不起作用

我使用的是Django预先构建的用户模型,我使用的数据库是PostgreSQL。目前,我的主页可以导航到用户的帐户页面(如果已登录,则会将其发送到登录页面),其中有一个更新_user.html的链接。但是从这里开始,我不知道如何使用html表单将数据发送到python脚本,或者如何使用Django表单来收集数据,也不知道如何编写代码使其工作。有什么建议吗?非常感谢

编辑:我尝试过的一些例子:

收集登录用户数据并将其显示在文本字段中的html表单:


{% block content %}
<h1>Edit Account</h1>


<form action="{% url 'edit_user' %}" method="POST">
    {% csrf_token %}
    <h2> Username:</h2><input type="text" name="username" value="{{ user.username }}">  <br />
    <h2>First Name</h2> <input type="text" name="first_name" value="{{ user.first_name }}">  <br />
    <h2>Last Name</h2> <input type="text" name="last_name" value="{{ user.last_name }}"/>  <br />
    <h2> Email: </h2><input type="textarea" name="email" value="{{ user.email }}">  <br />
    <input type="hidden" name="id" value="{{ user.id }}">
    <input type="submit" value="Submit"/>
</form>
{% endblock content %}
我遇到的问题是如何将这两个链接在一起,例如,如何保存用户输入的文本并将其放入函数中


我还尝试了一些基于类和基于函数的想法,这些想法导致链接和页面无法正常工作。如果有必要的话,我也可以把它们贴出来,但我现在花了几十个小时试图找到答案,因此有几十种解决方案,所以把它们全部贴出来需要很长时间。寻找一种简单的方法来允许用户在django中更改他们的用户详细信息

您可以发布您尝试过的代码以及任何错误(如果有)。@ans2human刚刚发布了。谢谢
            database_connector = psycopg2.connect('dbname=CajoIA user=postgres host=localhost password=my_password')
            database_cursor = database_connector.cursor()
            database_cursor.execute('UPDATE auth_user SET username = %s, first_name = %s, last_name = %s, email = %s WHERE id = %s'%(username, first_name, last_name, email, id))
            database_connector.commit()
            database_cursor.close()
            username = database_cursor.execute('SELECT username FROM auth_user WHERE id = %s'%(id))
            edit_account_details(username, first_name, last_name, email, id)