django - 我的数据库未显示在管理面板上
问题描述
模型.py
从 django.db 导入模型
类抱怨(模型。模型):
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
视图.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 上,导入 successView 然后添加 path('success', successView, name='success'),""" def successView(request): return render(request, "tem/success.html")
表格.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
管理员.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)
解决方案
您的代码在admin.py
. 你有没有重新加载你的服务器来刷新你的 Python 代码?我个人将别名绑定到命令以执行此操作。
alias refresh='sudo systemctl restart gunicorn;sudo systemctl reload nginx'
如果您使用的程序与我不同,这对您来说会有所不同。
PSforms.py
并且views.py
不相关,因为您没有导入它们。