一、准备工作
- 安装 Django 框架
pip install Django
- 创建一个项目
django-admin startproject projectname
- 再创建一个app,一般一个项目有多个app, 当然通用的app也可以在多个项目中使用。
python manage.py startapp appname
二、项目结构
做完第一步的准备工作后,项目的基本框架就已经完成,整体结构如下:
│ manage.py --一个命令行工具,项目管理的子命令
│ __init__.py
│
├─projectname
│ │ settings.py --项目配置的文件,包含数据库驱动配以及app注册信息等
│ │ urls.py --URL映射关系
│ │ wsgi.py --Web服务网关的配置文件,Django正式上线时需要使用
│ │ __init__.py
│ │
│
└─appname
│ admin.py --网站的后台管理站点配置相关
│ apps.py --app的启动类,用于配置当前子应用的相关信息,一般不改动
│ models.py --用户保存数据库模型类,对数据库进行操作
│ tests.py --用于开发测试用例,编写单元测试
│ views.py --用于编写Web应用视图函数,urls.py中所指向的函数
│ __init__.py
│
├─migrations --主要存放models文件每次makemigrations操作生成的文件
│ │ __init__.py
│
三、项目运行的流程
- 创建的app首先要在项目的settings.py中进行注册
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'appname'
]
- 用户要想访问到创建的app,还需要在urls.py中进行请求地址与views.py中对应的函数进行映射
from appname import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.main)
]
- 如果想要访问数据库的话,Django默认使用的是sqlite3,可以在settings.py中进行修改成mysql
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'book',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1',
'POST': '3306',
}
}
安装DBUtils时,建议版本不要太高,容易导致不兼容报错
- 如果想要使用后台管理的功能,首先我们需要进行下数据库的迁移操作,从而自动生成一些系统默认的表,再创建管理员账号,然后在models.py中配置哪些需要管理的表数据的模型类,最后将这些模型类依次注入到admin.py中。
1. 迁移数据库
python manage.py migrate
2. 创建管理员账号,按提示输入用户名、邮箱、密码。
PS D:\Work\workspace\python\demo\novel> python manage.py createsuperuser
Username (leave blank to use 'administrator'): amdin
Email address: xxxx@qq.com
Password:
Password (again):
Superuser created successfully.
3. models.py中创建表数据模型类
class Article(models.Model):
title = models.CharField(u'标题', max_length=256)
content = models.TextField(u'内容')
4.admin.py中注册模型
admin.site.register(Article)
- 启动项目
python manage.py runserver --或者指定端口启动 python manage.py runserver 8001
- 访问系统,在浏览器中输入http://127.0.0.1:8000/,要想访问管理后台,在这个url后面添加/admin