1.使用python包下载django
pip install django2.创建django项目
django-admin startproject mydj #最后的mydj为项目名称3.然后进入创建好的项目创建一个app
mydj>django-admin startapp api4.配置文件setting中的信息
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'api'#注册APP ]5.在项目的总路由做分发路由
from django.urls import path,include urlpatterns = [ # path('admin/', admin.site.urls), path('api/',include('api.urls')) ]6.之后在app中创建一个子路由文件,在这个子路由文件中就可以写我们的路由
from django.urls import path from api import views urlpatterns = [ path('hello/',views.hello),#每个路由对应一个视图函数 path('index',views.index) ]7.对应相关视图函数
def hello(request): return HttpResponse('hello') def index(request): return HttpResponse('index')8.配置好路由和视图我们就可以运行项目了
python manage.py runserver 0.0.0.0:8000 #runserver后是链接的地址,这里为本地测试地址9.记得在setting中设置模板文件位置
'DIRS':[os.path.join(BASE_DIR,'templates')]10.静态文件信息配置
STATIC_URL ='/static/'#别名 STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static'), ]1.路由写法
urlpatterns = [ path('user',views.UserView.as_view()) ]2.对应视图类
class UseView(views.View): def get(self,request,*args,**kwargs): return HttpResponse('get') def post(self,request,*args,**kwargs): return HttpResponse('post') def put(self,request): return HttpResponse('put') def delete(self,request): return HttpResponse('delete')3.配置数据库信息
DATABASES ={ 'default' : { 'ENGINE':'django.db.backends.mysql', 'NAME': 'hello',#库名 'USER': 'root',#账号 'PASSWORD':'root',#密码 'HOST':'127.0.0.1',#IP地址 'PORT':'3306',#端口号 "OPTIONS":{"init_command":"SET default_storage_engine=INNODB;"} } }4.在项目的init初始化文件中加载数据库配置信息
import pymysql pymysql.install_as_MySQLdb()5.配置模型类models
from django.db import models #Create your models here. class Teacher(models.Model): #db_column为数据库表头名,verbose_name为后台页面列表中显示的字段名 tname = models.CharField(max_length=20,db_column='名字',verbose_name='名字') tgender = models.BooleanField(default=True,db_column='性别',verbose_name='性别') tid = models.CharField(max_length=20,db_column='职工号',verbose_name='职工号') isDelete = models.BooleanField(db_column='是否删除',default=False)6.生成迁移文件,
python manage.py makemigrations7.执行迁移
python manage.py migrate8.操作数据库
models.Register.objects.create( username=username,password=password, prop=prop,name=name,sex=sex, age=age,company=company,duty=duty, phone=phone,desx=desc, ) #查找 obj = models.Register.objects.filter(username=jack).first() obj = models.Register.objects.get(id=3) obj = models.Register.objects.all() #修改内容 models.Register.objects.filter(username=username).update( prop=prop, name=name, sex=sex, age=age, company=company, duty=duty, phone=phone, desc=desc, ) #删除 obj = models.Reqister.objects.get(id=3) obj.delete() models.Reqister.objects.get(password='hehe').delete()9.django配置数据出现问题之重置migration(django项目在执行python manage.py migrate 进行表迁移时报错)
python manage.py migrate --fake10.重新配置migrate信息
python manage.py migrate #创建表结构 python manage.py makemigrations api #让django知道我们的模型有一些变更 python manage.py migrate api #创建表结构11.重新配置后也还会出现问题,有个方法是利用sqlmigrate修改应用名,把app表添加到数据库中,这样在数据库可视窗口看到数据表了
python manage.py sqlmigrate your_app_name 0001