1. 创建django项目,项目名为django01
django-admin startproject django01
创建好的项目结构如下
- 最外层的django01是项目的根目录,这个名字可以随便改,不会影响项目的使用
- manage.py 是一个可以让你用各种方式管理django项目的命令行工具
- 里面的django01目录是一个纯python包,包含着项目的一些主要的配置文件
- asgi.py 是作为你的项目的运行在 ASGI 兼容的 Web 服务器上的入口
- __init__.py 一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包
- settings.py Django 项目的配置文件
- urls.py Django 项目的 URL 声明,就像你网站的“目录”
- wsgi.py 作为你的项目的运行在 WSGI 兼容的Web服务器上的入口
2. 创建index应用
# 进入项目根目录 python manage.py startapp index
此时的项目结构是这样的
下面的index目录就是我们刚刚创建的index应用
- admin.py是用来管理后台站点的
- apps.py 暂时不是很清楚具体干麻的
- __init__.py python包的概念
- migrations目录是存放所生成的迁移文件的地方
- models.py 是用来编写数据库模型类的
- tests.py 是用来编写测试代码的
- views.py 是用来编写视图函数的
3. 配置settings.py文件
# 配置mysql数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django01',
'HOST': '192.168.0.117',
'PORT': 3306,
'USER': 'root',
'PASSWORD': '123456',
}
}
# 设置项目的语言为中文,时区为上海
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
# 注册创建的应用
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'index',
]
# 设置django项目的templates模板路径,在DIRS中添加
# note:templates目录需要手动在项目根目录创建,用来存放html模板文件
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
4. 进入index/models.py文件,编写一个简单的模型类
class User(models.Model):
name = models.CharField(max_length=20)
age = models.IntegerField()
class Meta:
# 指定表名称为user
db_table = 'user'
5. 生成,执行迁移文件
# 生成迁移文件 python3 manage.py makemigrations # 执行迁移文件 python3 manage.py migrate
执行成功后查看数据库可以发现表已经建出来了,最下面就是通过我们的模型类建出来的user表,其余的是django项目自身所需要的表
往user表中插入一些数据
insert into user values(1, '小明', 18), (2, '小张', 17);
6. 进入index/views.py文件,编写一个视图函数
from django.shortcuts import render
# 导入User模型类
from .models import User
# Create your views here.
def index(request):
user = User.objects.get(id=1)
return render(request, 'index.html', {'user': user})
7. 进入templates目录创建一个index.html,这个index.html就是视图中所用到的html文件
Document
姓名:{{ user.name }}
年龄:{{ user.age }}
8. 配置url调度器
# 配置index应用中的urls.py文件,需要先新建
from django.urls import path
# 导入编写的视图函数
from .views import index
urlpatterns = [
path('index/', index),
]
# 配置django01项目包里面的urls.py文件
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('index.urls')),
]
9. 运行项目
# 默认是8000端口 python3 manage.py runserver
10. 浏览器输入 127.0.0.1:8000/index,可以看到下面内容
至此一个简单的django项目流程就已经全部跑通了



