当我在django(或access admin)中提交表单时,URL栏中的地址会更改为ip地址

当我在django(或access admin)中提交表单时,URL栏中的地址会更改为ip地址,django,django-admin,Django,Django Admin,我有以下设置 在我的dns上: 将我的域指向IP地址的名称记录 在我的服务器上: nginx->gunicorn->django 但当我提交表单(例如登录表单)时,URL栏中的地址会从我的域名更改为我的IP地址。这会导致跨域错误 当我访问mydomain/admin时,在表单上会发生这种情况 当我访问网页时,URL栏中的域名保持不变。当我转到mydomain/admin时,它会自动切换到IP,而不提交任何其他表单。其他任何时候我都必须提交一份表格,以便更改IP地址 我的所有媒体和所有内容都使用路

我有以下设置

在我的dns上: 将我的域指向IP地址的名称记录

在我的服务器上: nginx->gunicorn->django

但当我提交表单(例如登录表单)时,URL栏中的地址会从我的域名更改为我的IP地址。这会导致跨域错误

当我访问mydomain/admin时,在表单上会发生这种情况

当我访问网页时,URL栏中的域名保持不变。当我转到mydomain/admin时,它会自动切换到IP,而不提交任何其他表单。其他任何时候我都必须提交一份表格,以便更改IP地址

我的所有媒体和所有内容都使用路径中的mydomain。这是最奇怪的事情。我只是第一次注意到它时,我去了我的管理页面,但没有考虑太多。但是我只是添加了一些表单,现在我无法提交表单,因为表单试图提交到IP地址,导致了跨域错误


我应该补充的是,表格是由django注册自动生成的

settings.py
文件中查找您的IP。它可以是一个类似于
MEDIA\u URL
的设置,用于使用您的IP而不是您的域。

这意味着您的表单被配置为提交到IP地址。查看表单源并查找表单标记:

<form action="http://(ip here?)/form/" method="GET">


确保IP地址未插入其中。您可以使用相对URL。我通常会将其留空,因为我的大多数表单都是由生成表单的同一视图处理的。

我假设您在某个时候正在本地开发,但没有出现这种情况,因此我建议您在Nginx配置中使用它。您是否可以使用Firebug/Web Inspector查看是否有任何从您的域到IP的重定向


我还将检查以确保您的站点的URL在管理员中设置正确。有时这可能会导致错误的URL,尽管我认为您提到的情况不适用。

任何文件中都没有IP地址。除了我数据库的IP