1. django安装
pip3 install django
2. django项目构建
django-admin startproject myapp # 创建项目
cd myapp
python manage.py startapp myweb # 创建应用
如果django-admin命令不可用,请把python安装目录下的Scripts文件加入环境变量,然后重启终端
目录结构
3. django模型搭建
配置数据库
/myapp/myapp/settings.py
DATABASES = { \'default\': { \'ENGINE\': \'django.db.backends.mysql\', # 使用的数据库类型,这里使用的是mysql \'NAME\': \'test\', # 数据库名称 \'USER\': \'root\', # 账号 \'PASSWORD\': \'\', # 密码 \'HOST\': \'localhost\', # 数据库地址 \'PORT\': \'3306\', # 数据库使用的端口 } }
/myapp/myweb/models.py
from django.db import models # Create your models here. # 创建一个user表 class Users(models.Model): name = models.CharField(max_length=30) # 创建一个长度最大为30的字符字段 字段名:name age = models.IntegerField() # 创建一个整型字段 字段名:age
# 构建数据库
python manage.py migrate
# 模型发生改变时需要执行该命令重新构建
python manage.py makemigrations
# 错误
RuntimeError: Model class myweb.models.Users doesn\'t declare an explicit app_lab el and isn\'t in an application in INSTALLED_APPS.
# 解决方式
/myapp/myapp/settings.py
INSTALLED_APPS = [ \'django.contrib.admin\', \'django.contrib.auth\', \'django.contrib.contenttypes\', \'django.contrib.sessions\', \'django.contrib.messages\', \'django.contrib.staticfiles\', \'myweb\', # 添加应用接口 ]
# 重新构建
python manage.py makemigrations
python manage.py migrate
4. django 模板
/myapp/myapp/settings.py
TEMPLATES = [ { \'BACKEND\': \'django.template.backends.django.DjangoTemplates\', \'DIRS\': [\'myweb/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\', ], }, }, ]
模板文件
/myapp/myweb/templates/index.html
<html> <head> <title>test</title> <meta charset="utf-8" /> </head> <body> <h1>{{content}}</h1> </body> </html>
5. django 视图逻辑
/myapp/myweb/views.py
from django.shortcuts import render from myweb.models import Users from django.core import serializers # Create your views here. def index(request): results = serializers.serialize(\'json\',Users.objects.all()) # 查询users表的所有数据且把数据转换成json字符串输出到页面 return render( request,\'index.html\',{\'content\':results} )
6. djangos urls配置
/myapp/myapp/urls.py
from django.conf.urls import url from django.contrib import admin from myweb import views as indexs urlpatterns = [ url(r\'\', indexs.index), # 映射路由与视图关系 ]
7. 启动服务器
python manage.py runserver