Django之路
创建数据库,因为一开始是默认sqlite3,在settings.py可看,如果无其他使用要求,默认就好,假如想切换数据库
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } # 注释settings.py中的以上代码 # 插入新代码 DATABASES = { "default": { # 连接的数据库类型 'ENGINE': 'django.db.backends.mysql', # 连接数据库的地址 "HOST": "127.0.0.1", # 端口 "PORT": 3306, # 数据库名称 "NAME": "django_work", # 用户名 "USER": "root", # 密码 "PASSWORD": "root" } }
注意:数据库需要提前建立
接下来去app01/models.py文件中设置表
from django.db import models class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') class Choice(models.Model): question = models.ForeignKey(Question, on_delete=models.CASCADE) choice_text = models.CharField(max_length=200) votes = models.IntegerField(default=0)
更多的字段在未来会详细介绍
如果设置MySql为数据库,就要在app01文件夹的init.py中输入
import pymysql pymysql.install_as_MySQLdb()
注册这些字段,在命令行中输入
python manage.py makemigrations
python manage.py migrate
通过运行makemigrations,告诉Django你已对模型进行了一些更改(在这种情况下,你已经创建了新模型),并且你希望将更改存储为迁移。迁移是Django如何存储对模型(以及数据库模式)的更改 - 它们只是磁盘上的文件。如果你愿意,可以阅读新模型的迁移; 这是文件 polls/migrations/0001_initial.py。不要担心,每次Django制作它时都不会读它们,但是如果你想手动调整Django如何改变它们的话,它们的设计是人为可编辑的。有一个命令可以为你运行迁移并自动管理你的数据库模式 - 这是被调用的migrate,我们马上就会看到它,但首先,让我们看看迁移将运行的SQL。该 sqlmigrate命令获取迁移名称并返回其SQL:
python manage.py sqlmigrate app01 0001
我们可以进入Python shell 使用Django为我们提供的免费API
python manage.py shell
进入之后可以进行操作
from app01.models import Choice, Question # 导入模块 Question.objects.all() # 查询容器有什么 # <QuerySet [<Question: Question object (1)>]> # 输出 from django.utils import timezone # 导入Django的时间模块 w=Question(question_text="hello,world",pub_date=timezone.now())# 新建一个对象 w.save() # 保存
创建管理员用户
首先,我们需要创建一个可以登录管理站点的用户。运行以下命令:
python manage.py createsuperuser
进入管理员页面
在admin.py加入代码,管理Question对象
from django.contrib import admin # Register your models here. from .models import Question admin.site.register(Question)
再次访问
更多的在后续更新