无法在我的 django-site 中登录和注册
Can't login and sign up in my django-site
在 heroku 上部署后,我在尝试登录我的帐户时遇到以下问题:
relation "django_site" does not exist
LINE 1: ..."django_site"."domain", "django_site"."name" FROM "django_si...
bin 目录中的所有文件在 header 中包含以下行:
#!/home/far/git/django_site.git/Django_work/django_structure/bin/python
完整日志:
ProgrammingError at /accounts/login/
relation "django_site" does not exist
LINE 1: ..."django_site"."domain", "django_site"."name" FROM "django_si...
^
Request Method: GET
Request URL: https://stripe-like.herokuapp.com/accounts/login/
Django Version: 2.0.3
Exception Type: ProgrammingError
Exception Value:
relation "django_site" does not exist
LINE 1: ..."django_site"."domain", "django_site"."name" FROM "django_si...
^
Exception Location: /app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py in _execute, line 85
Python Executable: /app/.heroku/python/bin/python
Python Version: 3.6.4
Python Path:
['/app',
'/app/django_structure/src',
'/app/.heroku/python/bin',
'/app',
'/app/.heroku/python/lib/python36.zip',
'/app/.heroku/python/lib/python3.6',
'/app/.heroku/python/lib/python3.6/lib-dynload',
'/app/.heroku/python/lib/python3.6/site-packages']
使用 django.sites(SITE_ID=1) 没有导致改变。即使在添加行 SITE_ADD=1 之后,也不会发生导致错误的迁移。
更新:
删除 db.sqlite3 后,我将我的 postgresql 数据库添加到设置文件中。迁移后我在其中找到 django_site
table:
-- Table: public.django_site
-- DROP TABLE public.django_site;
CREATE TABLE public.django_site
(
id integer NOT NULL DEFAULT nextval('django_site_id_seq'::regclass),
domain character varying(100) NOT NULL,
name character varying(50) NOT NULL,
CONSTRAINT django_site_pkey PRIMARY KEY (id),
CONSTRAINT django_site_domain_a2e37b91_uniq UNIQUE (domain)
)
WITH (
OIDS=FALSE
);
ALTER TABLE public.django_site
OWNER TO joe;
-- Index: public.django_site_domain_a2e37b91_like
-- DROP INDEX public.django_site_domain_a2e37b91_like;
CREATE INDEX django_site_domain_a2e37b91_like
ON public.django_site
USING btree
(domain COLLATE pg_catalog."default" varchar_pattern_ops);
您需要将 SITE_ID
添加到 settings.py 中,例如
SITE_ID=1
然后 运行 命令:
python manage.py migrate
如果这不起作用:
尝试在任何其他迁移之前手动迁移站点应用程序:
python manage.py migrate sites
python manage.py migrate
由于迁移文件夹为空而出现这种错误。
您需要运行:
python manage.py makemigrations
python manage.py migrate
希望你的问题得到解决
如果不行:
然后从迁移文件夹中手动删除所有.pyc 文件。并删除数据库。然后创建数据库。以及 运行 makemigrations 和 migrate 命令。
在 heroku 上部署后,我在尝试登录我的帐户时遇到以下问题:
relation "django_site" does not exist
LINE 1: ..."django_site"."domain", "django_site"."name" FROM "django_si...
bin 目录中的所有文件在 header 中包含以下行:
#!/home/far/git/django_site.git/Django_work/django_structure/bin/python
完整日志:
ProgrammingError at /accounts/login/
relation "django_site" does not exist
LINE 1: ..."django_site"."domain", "django_site"."name" FROM "django_si...
^
Request Method: GET
Request URL: https://stripe-like.herokuapp.com/accounts/login/
Django Version: 2.0.3
Exception Type: ProgrammingError
Exception Value:
relation "django_site" does not exist
LINE 1: ..."django_site"."domain", "django_site"."name" FROM "django_si...
^
Exception Location: /app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py in _execute, line 85
Python Executable: /app/.heroku/python/bin/python
Python Version: 3.6.4
Python Path:
['/app',
'/app/django_structure/src',
'/app/.heroku/python/bin',
'/app',
'/app/.heroku/python/lib/python36.zip',
'/app/.heroku/python/lib/python3.6',
'/app/.heroku/python/lib/python3.6/lib-dynload',
'/app/.heroku/python/lib/python3.6/site-packages']
使用 django.sites(SITE_ID=1) 没有导致改变。即使在添加行 SITE_ADD=1 之后,也不会发生导致错误的迁移。
更新:
删除 db.sqlite3 后,我将我的 postgresql 数据库添加到设置文件中。迁移后我在其中找到 django_site
table:
-- Table: public.django_site
-- DROP TABLE public.django_site;
CREATE TABLE public.django_site
(
id integer NOT NULL DEFAULT nextval('django_site_id_seq'::regclass),
domain character varying(100) NOT NULL,
name character varying(50) NOT NULL,
CONSTRAINT django_site_pkey PRIMARY KEY (id),
CONSTRAINT django_site_domain_a2e37b91_uniq UNIQUE (domain)
)
WITH (
OIDS=FALSE
);
ALTER TABLE public.django_site
OWNER TO joe;
-- Index: public.django_site_domain_a2e37b91_like
-- DROP INDEX public.django_site_domain_a2e37b91_like;
CREATE INDEX django_site_domain_a2e37b91_like
ON public.django_site
USING btree
(domain COLLATE pg_catalog."default" varchar_pattern_ops);
您需要将 SITE_ID
添加到 settings.py 中,例如
SITE_ID=1
然后 运行 命令:
python manage.py migrate
如果这不起作用:
尝试在任何其他迁移之前手动迁移站点应用程序:
python manage.py migrate sites
python manage.py migrate
由于迁移文件夹为空而出现这种错误。
您需要运行:
python manage.py makemigrations
python manage.py migrate
希望你的问题得到解决
如果不行:
然后从迁移文件夹中手动删除所有.pyc 文件。并删除数据库。然后创建数据库。以及 运行 makemigrations 和 migrate 命令。