我的数据库未显示在管理面板上
Posted
技术标签:
【中文标题】我的数据库未显示在管理面板上【英文标题】:my Database is not showing on admin panel 【发布时间】:2020-01-17 08:11:28 【问题描述】:models.py
从 django.db 导入模型
类抱怨(models.Model):
name = models.CharField('Name', max_length=120)
Email = models.CharField(max_length=120)
message = models.CharField(max_length = 600)
def __str__(self):
return self.name
views.py
def contact(request):
if request.method == 'GET':
form = ComplainForm()
else:
form = ComplainForm(request.POST)
if form.is_valid():
name = form.cleaned_data['name']
email = form.cleaned_data['Email']
message = form.cleaned_data['message']
try:
send_mail(name, message, email, ['ankushbanik123@gmail.com']) # change this to your email
except BadHeaderError:
return HttpResponse('Invalid header found.')
return redirect('/success')
return render(request, "tem/home.html", 'form': form)
"""你需要一个表单提交成功的视图。这将在用户提交表单后呈现感谢消息。然后在 urls.py 上,导入成功视图,然后添加 path('success' , 成功视图, name='成功'),""" def 成功视图(请求): 返回渲染(请求,“tem/success.html”)
form.py
class ComplainForm(forms.ModelForm):
class Meta:
model = complain
fields = ['name', 'Email', 'message',]
def clean_email(self):
email = self.cleaned_data.get('email')
return email
admin.py
from django.contrib import admin
在此处注册您的模型。
from .models import complain
admin.site.register(投诉)
class complainAdmin(admin.ModelAdmin):
list_display = ('name', 'Email', 'message')
admin.site.register(complain, complainAdmin)
【问题讨论】:
【参考方案1】:您的代码在admin.py
中看起来是正确的。你有没有重新加载你的服务器来刷新你的 Python 代码?我个人为该命令绑定了一个别名来执行此操作。
alias refresh='sudo systemctl restart gunicorn;sudo systemctl reload nginx'
如果您使用的程序与我不同,这对您来说会有所不同。
附: forms.py
和 views.py
不相关,因为您没有导入它们。
【讨论】:
我正在使用 windows...我不能使用 sudo...现在告诉我我能做什么?? 哎哟。我很抱歉,但在这种情况下我不会有太多帮助。我在本地机器上运行 Windows,但我使用远程访问 Ubuntu 服务器进行开发。虽然 Python 确实将 Windows 视为一等公民(我认为 - 找不到参考 ATM),但对于许多其他程序来说,情况并非如此。以上是关于我的数据库未显示在管理面板上的主要内容,如果未能解决你的问题,请参考以下文章