http://www.byhy.net/tut/webdev/django/04/
| 白月黑羽 | Python笔记
安装与运行
安装Django
cmd执行
pip install django
# 查看安装的Django版本
python -m django --version
创建项目
从命令行窗口中 进入到
d:\projects
目录,执行下面的命令创建项目目录
django-admin startproject bysms
注意最后的
bysms
就是项目的根目录名,执行上面命令后,就会创建 如下的目录结构:
bysms/
manage.py
bysms/
__init__.py
settings.py
urls.py
wsgi.py
也可以这样创建目录,结构更合理一些:
# 执行命令创建项目目录,并且进入到项目目录
mkdir bysms && cd bysms
# 然后执行命令 创建manage.py 和 项目配置目录 名为 config
django-admin startproject config .
运行Django Web服务
进入到项目根目录 ,比如,我们这里就是
d:\projects\bysms\
然后执行如下命令
python manage.py runserver 0.0.0.0:8000
其中 0.0.0.0:8000
是指定 web服务绑定的 IP 地址和端口。
0.0.0.0
表示绑定本机所有的IP地址, 就是可以通过任何一个本机的IP (包括 环回地址 127.0.0.1
) 都可以访问我们的服务。
创建项目app
进入项目根目录,执行下面的命令。
python manage.py startapp sales
这样就会创建一个目录名为 sales, 对应 一个名为 sales 的app,里面包含了如下自动生成的文件。
sales/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
创建sqlite数据库
项目中数据库的配置在 bysms/settings.py
中,这里
# Database
# https://docs.djangoproject.com/en/2.0/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
创建数据库,执行如下命令
python manage.py migrate
再创建一个名为common的应用目录, 里面存放我们项目需要的一些公共的表的定义
python manage.py startapp common
打开 common/models.py,发现里面是空的,因为我们还没有定义我们的业务所需要的表。
我们修改它,加入如下内容
from django.db import models
class Customer(models.Model):
# 客户名称
name = models.CharField(max_length=200)
# 联系电话
phonenumber = models.CharField(max_length=200)
# 地址
address = models.CharField(max_length=200)
这个 Customer 类继承自 django.db.models.Model, 就是用来定义数据库表的。
项目的配置文件
settings.py
中, INSTALLED_APPS 配置项 加入如下内容
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 加入下面这行
'common.apps.CommonConfig',
]
‘common.apps.CommonConfig’ 告诉 Django , CommonConfig 是 common/apps.py 文件中定义的一个应用配置的类。
执行以下命令,告诉Django , 去看看common这个app里面的models.py ,我们已经修改了数据定义, 你现在去产生相应的更新脚本。
python manage.py makemigrations common
会发现在 common\migrations 目录下面出现了0001_initial.py, 这个脚本就是相应要进行的数据库操作代码。随即,执行如下命令,就真正去数据库创建表了。
用 sqlitestudio 查看数据库,发现创建了一张名为 common_customer的表
python manage.py migrate
注意
如果以后我们修改了Models.py 里面的库表的定义,都需要再次运行 python manage.py makemigrations common 和 python manage.py migrate 命令,使数据库同步该修改结果。
Django Admin 管理数据
创建 一个超级管理员账号。进入到项目的根目录,执行如下命令,依次输入你要创建的管理员的 登录名、email、密码。
d:\projects\bysms>python manage.py createsuperuser
Username (leave blank to use 'byhy'): byhy
Email address: byhy@163.com
Password:
Password (again):
Superuser created successfully.
注意密码至少8个字符。 这里,我们设置密码为 88888888
然后我们需要修改应用里面的 管理员 配置文件 common/admin.py,注册我们定义的model类。这样Django才会知道
from django.contrib import admin
from .models import Customer
admin.site.register(Customer)
好了,现在就可以访问 http://127.0.0.1:8000/admin/
,输入刚才注册的用户密码登录。
登录后可以看到如下界,可以通过界面操作数据库数据了。