django的安装和使用
Posted hello-kiki
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django的安装和使用相关的知识,希望对你有一定的参考价值。
使用python的包下载管理工具pip安装django
pip install django
创建django项目
django-admin startproject my01 #后面是项目名称
创建好的项目目录是这样
———————————————————————————————————————————————————————————————————————————————
现在我们已经创建好一个django项目
django-admin startapp api
然后我们再进项目里创建一个app
创建好APP的目录
紧接着我们去配置文件setting中注册app
INSTALLED_APPS = [ ‘django.contrib.admin‘, ‘django.contrib.auth‘, ‘django.contrib.contenttypes‘, ‘django.contrib.sessions‘, ‘django.contrib.messages‘, ‘django.contrib.staticfiles‘, ‘api‘#注册APP ]
注册好APP之后在项目的总路由做分发路由
from django.urls import path,include urlpatterns = [ # path(‘admin/‘, admin.site.urls), path(‘api/‘,include(‘api.urls‘)) ]
然后在app中创建一个子路由文件
在这个子路由文件中就可以写我们的路由啦
from django.urls import path from api import views urlpatterns = [ path(‘hello/‘,views.hello),#每个路由对应一个视图函数 path(‘index‘,views.index) ]
对应的视图函数
def hello(request): return HttpResponse("hello") def index(request): return HttpResponse(‘index‘)
写好路由和视图我们就可以运行我们的项目
第一条最简单的接口就实现了
也可以写成cbv的形式,这种写法更简洁,结构更清晰
路由写法
urlpatterns = [ path(‘user‘,views.UserView.as_view()) ]
对应的视图类
class UserView(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‘)
接下来我们就要配置数据库
在setting中这是系统默认的配置
DATABASES = { ‘default‘: { ‘ENGINE‘: ‘django.db.backends.sqlite3‘, ‘NAME‘: os.path.join(BASE_DIR, ‘db.sqlite3‘), } }
而我们要使用高级一点的mysql
则不用它的配置,换我们自己的配置
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;"} } }
然后在项目的Init文件中加上这句代码
import pymysql
pymysql.install_as_MySQLdb()
此时我们的数据库已经配置好了
我们要在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)
生成迁移文件
python manage.py makemigrations
执行迁移
python manage.py migrate
此时我们的数据库就生成表了
就可以操作数据库啦
models.Register.objects.create(username=username, password=password, prop=prop, name=name, sex=sex, age=age, company=company, duty=duty, phone=phone, desc=desc, )
查找
obj = models.Register.objects.filter(username=xiaoyong).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=‘xiaoli‘).delete()
以上是关于django的安装和使用的主要内容,如果未能解决你的问题,请参考以下文章
如何使用引导程序和 for 循环在 django 中创建电影片段?
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段