在 Heroku 上部署后 Django 管理员访问错误

Posted

技术标签:

【中文标题】在 Heroku 上部署后 Django 管理员访问错误【英文标题】:Django admin access error after deploying on Heroku 【发布时间】:2021-05-27 12:04:45 【问题描述】:

当我尝试访问 admin sitename.herokuapp .com/admin 时,它会显示此编程错误

Views.py 文件

 from django.shortcuts import render
 from . serializers import apiserializer
 from rest_framework import viewsets
 from .models import apimodel

class apiview(viewsets.ModelViewSet):
    queryset = apimodel.objects.all()
    serializer_class = apiserializer

API 在 localhost 上运行良好,我甚至可以通过 django 管理员或邮递员发布和获取数据

models.py 文件

from django.db import models

# Create your models here.

class apimodel(models.Model):
    name = models.CharField(max_length=30)
    age = models.IntegerField(default=0)
    city = models.CharField(max_length=20)

    def __str__(self):
        return self.name

admin.py 文件

from django.contrib import admin
from . models import apimodel

admin.site.register(apimodel)

serializers.py 文件

from rest_framework import serializers
from .models import apimodel

class apiserializer(serializers.ModelSerializer):
    class Meta:
        model = apimodel
        fields = ('id', 'name', 'age', 'city')

项目/urls.py 文件

from django.contrib import admin
from django.urls import path, include
from apiapp import urls


urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('apiapp.urls'))
]

app/urls.py 文件

from django.urls import path, include
from . import views
from rest_framework import routers

router = routers.DefaultRouter()
router.register('api', views.apiview)

urlpatterns = [
    path('', include(router.urls) )
]

在 herokuapp 上部署 django 管理页面后,我无法访问它。我已经创建了超级用户,并且通过更改 DEBUG=True 和 False 进行了部署,这两种方式都不起作用。

【问题讨论】:

【参考方案1】:

确保您的模型已迁移

试试

heroku python manage.py makemigrations
heroku python manage.py migrate

注意:- heroku 是你的 git 远程名称

【讨论】:

非常感谢亲爱的。 V V 谢谢你。它对我有用。

以上是关于在 Heroku 上部署后 Django 管理员访问错误的主要内容,如果未能解决你的问题,请参考以下文章

在 Heroku 上部署 Django API + React 应用程序

如何在 heroku 上部署 django+swamp dragon 实时聊天应用程序?

成功创建超级用户后无法登录 Heroku 管理面板

在 Heroku 上部署 Django\Tornado

数据库更改时,Heroku 部署的 Django 网页不会更新

Heroku部署后Django(djongo)无法连接到MondoDB Atlas