Django 的命令行 及render/redirect /Httpresponse/JsonResponse
目录:
cmd命令创建和启动
更改Django的数据库配置
render,HttpResponse,redirect 的使用
cmd命令创建和启动:
# 创建项目 django-admin startproject 项目名 # 启动项目 # 切换到文件目录,执行命令 python manage.py runserver # 后面可以加端口号
创建app命令
python manage.py startapp 应用名
创建超级用户,创建之前需要先有数据库
# 创建表的命令 python manage.py makemigrations python manage.py migrate # 创建表后开始创建超级用户,用于登录admin管理后台 python manage.py createsuperuser # 进入超级用户创建模式
# 访问 http://localhost:8000/admin # 进入后台管理系统
更改Django的数据库配置
django默认使用的数据库是sqlite3,但是我一般用mysql,所以需要更改设置
在项目目录里找到settings文件,更改settings里的DATABASES配置
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
把数据库改成mysql
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mysql',#数据库名字 'USER':'root', # mysql用户名 'PASSWORD':'*****', # 密码 'HOST':'localhost', 'PORT':'3306', } }
还需要安装pymysql,在项目目录下的__init__.py文件中替换
import pymysql pymysql.install_as_MySQLdb()
小白必会三板斧:render,HttpResponse,redirect
首先介绍一下urls.py
from django.conf.urls import url from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), ]
urls在django中为路由,view为试图
通过在urls定义路由,到view里去访问
定义了一个home路由,这时候我们访问home页面,会出错,找不到页面
我们需要在view里定义home页
HttpResponse
# views.py页面 from django.shortcuts import render,HttpResponse,redirect # 在一个模块中导入 from django.shortcuts import render,HttpResponse,redirect # Create your views here. def home(request): return HttpResponse('欢迎来到我的主页') # 现在我们来访问home页面
JsonResponse
向前端返回一个json字符串的两种方式
# Httpresponse
from django.shortcuts import render,HttpResponse import json # Create your views here. def index(request): data = ['我','cao'] return HttpResponse(json.dumps(data) )
第二种
from django.http import JsonResponse # Create your views here. def index(request): data = ['我','cao'] return JsonResponse(data,safe=False) # safe=True 只能序列字典对象,False则可以序列字典以外的对象
使用render
比如我们现在要返回home.html页面,首先要在templates.py文件夹下创建html页面

然后在views.py的定义对应的视图函数
def home(request): return render(request,'home.html',locals())
我们再次访问home看看得到的结果
和我们写的html页面是一样的
下面介绍最后一个 redirect ,这个是用做跳转页面的
在urls.py定义login路由,在views.py文件里写上对于的login函数
# urls urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^home/',views.home), url(r'^login/',views.login), ] # views def home(request): return redirect('/login/') def login(request): return HttpResponse('这是登录页面')
这时我们再次访问home页面时,会跳转到login页面
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步