0%

Python Django 教程2

Python Django 教程2

本教程将将创建数据库,模型并介绍自动生成的管理员站点。

创建数据库

数据库默认设置在mysite/settings.py文件中的DATABASES中,其中为ENGINE和NAME字段,可以自行更改。

使用

1
$ python manage.py migrate

来生成settings.py文件中需要的数据库表。

创建模型

修改文件polls/models.py文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
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)

激活模型

为了可以访问到该模型,需要在INSTLLED_APP参数设置中,添加polls,文件mysite/settings.py内容如下所示:

1
2
3
4
5
6
7
8
9
INSTALLED_APPS = [
'polls.apps.PollsConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

其中polls.aps.PollsConfig位于polls/apps.py文件中

然后使用下述命令来让Django包含polls应用。

1
$ python manage.py makemigrations polls

使用

1
$ python manage.py migrate

来生成settings.py文件中需要的数据库表。

创建模型的三个步骤

  1. Change your models (in models.py).
  2. Run python manage.py makemigrations to create migrations for those changes
  3. Run python manage.py migrate to apply those changes to the database.

玩转API接口

1
$ python manage.py shell

增加易读接口返回

1
2
3
4
5
6
7
8
9
10
11
from django.db import models

class Question(models.Model):
# ...
def __str__(self):
return self.question_text

class Choice(models.Model):
# ...
def __str__(self):
return self.choice_text

Django 管理 Admin

创建管理员账号

1
$ python manage.py createsuperuser

启动服务器

1
$ python manage.py runserver

Now, open a Web browser and go to “/admin/” on your local domain – e.g., http://127.0.0.1:8000/admin/

让poll在admin中可编辑,编辑polls/admin.py文件内容如下:

1
2
3
4
5
from django.contrib import admin

from .models import Question

admin.site.register(Question)
处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道