首先看一下项目生成之后的目录结构:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
.
└── hello
├── db.sqlite3
├── demo
│   ├── __init__.py
│   ├── __pycache__ # 生成的缓存
│   ├── admin.py # 配置后台管理的文件
│   ├── apps.py # APP的配置
│   ├── migrations # 数据库同步的脚本目录
│   ├── models.py # 模型代码的配置
│   ├── tests.py # 单元测试
│   └── views.py # 业务代码
├── hello
│   ├── __init__.py # 初始化该包
│   ├── __pycache__ # 生成的缓存
│   ├── settings.py # 项目配置文件
│   ├── urls.py # 网页地址url配置文件
│   └── wsgi.py # 协议配置文件,项目部署用到
└── manage.py

然后实现一个小功能,一个用户列表的界面,大概界面如下:

这个界面用到了 html、css、js,下载

第一步、在setting.py里面增加APP

INSTALLED_APPS里面加入我们创建的APP:

第二步、在views.py里面定义一个业务请求处理的函数

views.py

1
2
3
4
5
from django.shortcuts import render
# Create your views here.

def user(request):
return render(request,'table.html')

第三步、定义一个模板并引入静态文件

在app的目录下创建文件夹templatesstatictemplates中存放table.html模板,static中存放 JS和CSS 文件,文件夹名字不要改动。

第四步、在urls.py里面定义url地址

查看

此时启动服务运行APP如下:

可以看到网页并没有加载到我们的css,我们需要修改table.html

重新运行一下,不出意外的话应该成功加载,此时的数据还不是我们需要的,我们需要的数据在之前的虚拟环境中:

1
2
3
4
5
6
7
8
9
10
.
└─ venv
└─ django_basic_venv
  └─ lib
     └─ python3.5
       └─ site-packages
          └─ django
             └─ contrib
                └─ auth
                └─ models.py

models.py中有个User的类,所以的用户均存在这个里面。然后我们在views.py里面引入这个类,查询出所以用户传给模型table.html

1
2
3
4
5
6
7
8
from django.shortcuts import render
from django.contrib.auth.models import User # 引入

# Create your views here.

def user(request):
user_list = User.objects.all() # 查询
return render(request,'table.html',{'user_list':user_list}) # 传

然后在我们的模型table.html中接受变量user_list并循环显示在页面上:

user.usernameuser.passworduser.email这些字段的话可以在工程目录下的db.sqlite3中查看。查看一下效果:

可以看到只有一条数据,我们可以在http://127.0.0.1:8080/admin/下多添加几天数据试试:

题外
从截图可以看到我们的端口从8000变成了8080,这个在启动服务器的时候可以指定: