安装测试
- 安装django
python -m pip install Django
- 创建django项目
django-admin startproject DjangoDemo
- 运行简易server
python manage.py runserver 8080
配置项目
项目初始文件结构如下
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
编写views.py文件
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello world. Django!')
配置url conf
from django.contrib import admin
from django.urls import path, include
from . import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index, name='index'),
# path('polls/', include('polls.urls')),
]
配置项目conf
INSTALLED_APPS = [
'polls.apps.PollsConfig', # 自己添加应用的配置
'django.contrib.admin', # 管理员站点
'django.contrib.auth', # 认证授权系统。
'django.contrib.contenttypes', # 内容类型框架。
'django.contrib.sessions', # 会话框架
'django.contrib.messages', # 消息框架
'django.contrib.staticfiles', # 管理静态文件的框架
]
配置数据库
数据库配置在 polls/settings.py
文件中,通过DATABASES
配置具体的ENGINE
和NAME
。
使用python manage.py migrate
会创建一个默认数据表
- 创建model
from datetime import datetime
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
update_date = models.DateTimeField('date updated', default=datetime.now())
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
- 创建迁移文件
python manage.py makemigrations polls
- 迁移数据库
python manage.py migrate
创建管理页面
- 创建超级管理员,创建成功登录即可看到一个管理界面
python manage.py createsuperuser
- 添加模块到管理界面
创建一个admin.py
文件,添加如下代码:
from django.contrib import admin
from .models import Question
admin.site.register(Question)
此时在管理页面就可以看到新增了Question模块的增删改查操作功能。