• 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页面

     
     
  • 相关阅读:
    上传代码到github
    AFN多文件进度下载
    NSURLSession各文件关系
    H5动静分离
    iOS设备获取总结
    iOS与JS开发交互总结
    iOS11 push控制器tabbar上移问题
    解决iOS11 UIScrollView下移问题
    关于react16.4——错误边界
    关于react16.4——上下文Context
  • 原文地址:https://www.cnblogs.com/python-Arvin/p/11857127.html
Copyright © 2020-2023  润新知