【发布时间】:2020-05-15 12:54:12
【问题描述】:
我有一个请求 - 你能帮我在不使用 shell 的情况下访问和管理 django DB 对象吗? 我已经创建了我的模型,但现在(例如)我想制作一个登录系统。我存储用户和通行证(再次,只是一个例子),我想从数据库中获取信息,但我不想使用 shell。 在这种情况下我能做什么,我对 Django 很陌生?! 最好的问候
【问题讨论】:
我有一个请求 - 你能帮我在不使用 shell 的情况下访问和管理 django DB 对象吗? 我已经创建了我的模型,但现在(例如)我想制作一个登录系统。我存储用户和通行证(再次,只是一个例子),我想从数据库中获取信息,但我不想使用 shell。 在这种情况下我能做什么,我对 Django 很陌生?! 最好的问候
【问题讨论】:
为什么不使用 django-admin? 也许这就是你想要的:https://docs.djangoproject.com/en/3.0/ref/contrib/admin/
【讨论】:
在views.py中可以导入
从 .models 导入模型名称
data = modelname.objects.all() - 使用它你可以从数据库中获取所有数据 例如:- 对于数据中的 d: 打印(d.email) 将给数据库中的所有电子邮件
你也可以使用 t = modelname.objects.get(email='name@lk.com') 这样就可以得到邮箱是name@lk.com的人的数据
【讨论】:
Django 已经支持数据库,您可以在其中注册模型并使用图形界面访问它们。
查看文档:django-admin-site
首先你需要创建一个超级用户账号,如果没有,在项目目录下用终端创建,使用这一行:
python manage.py createsuperuser
要让您的模型出现在管理网站上,您需要注册它
# models.py
class MyModel(models.Model)
field1 = models.CharField()
field2 = models.TextField()
# ...
# admin.py
from django.contrib import admin
from .models import MyModel
admin.site.register(MyModel)
所以这是注册模型的基本方法,如果你想个性化你需要查看文档ModelAdmin.fieldsets
完成此操作后,只需通过链接http://localhost:8000/admin/ 访问管理站点并使用超级用户帐户登录,您将看到已注册的模型。
【讨论】:
from myapp.models import MyModelName 访问其中的所有对象MyModelName.objects.all ()