第11,12章节-Python3.5-DjangoORM基本创建基本类型以及生成数据库结构

  • 接着上一课

  • 修改app01\views.py:
from django.shortcuts import render,HttpResponse,redirect

USER_DICT = {
    '1': {'name': 'root1', 'email': 'root@live.com'},
    '2': {'name': 'root2', 'email': 'root@live.com'},
    '3': {'name': 'root3', 'email': 'root@live.com'},
    '4': {'name': 'root4', 'email': 'root@live.com'},
    '5': {'name': 'root5', 'email': 'root@live.com'},
}


def index(request,nid,uid):
    # indexx
    print(request.path_info)
    # /asdfasdfasdf/13/
    # reverse 能反转
    from django.urls import reverse
    # v = reverse('indexx', args=(90,88,))
    v = reverse('indexx', kwargs={'nid':'1','uid':'99'})
    print(v)

    return render(request, 'index.html', {'user_dict': USER_DICT})


def detail(request, nid):
    # print(nid, uid)
    # return HttpResponse(nid)
    detail_info = USER_DICT[nid]
    return render(request, 'detail.html', {'detail_info': detail_info})


def login(request):
    # 判断用户获取数据方式是GET,就返回什么数据
    if request.method == "GET":
        return render(request, 'login.html')
    # 判断用户获取数据方式是POST,就判断用户提交的数据是否正确
    elif request.method == "POST":
        # 数据表中执行 select * from user where username='x' and password='x'
        return render(request, 'login.html')
    else:
        # PUT,DELETE,HEAD,OPTION...
        return redirect("/index/")


from django.views import View


class Home(View):

    # 调用父类中的dispatch(相当于助理,)
    def dispatch(self, request, *args, **kwargs):
        print('before')
        result = super(Home,self).dispatch(request, *args, **kwargs)
        print('after')
        return result

    def get(self,request):
        print(request.method)
        return render(request, 'home.html')

    def post(self,request):
        print(request.method, 'POST')
        return render(request, 'home.html')

image.png
  • app01\models.py
image.png
  • app01\models.py 代码如下:
from django.db import models

# Create your models here.


class UserInfo(models.Model):
    # Django自动创建id列,自增,主键
    # 用户名列,字符串类型,指定长度
    username = models.CharField(max_length=32)
    password = models.CharField(max_length=64)


  • 接着创建表:

  • 先在settings中添加app01如下图:


    image.png
  • 然后在Terminal中运行输入
    (python manage.py makemigrations)[创建表]
    (python manage.py migrate)[生成数据库]


    image.png
  • 然后产生如下目录:

image.png
  • 连接sb.sqlite3的方法如下:

  • 打开Navicat,


    image.png
  • 复制sb.sqlite3的路径


    image.png
  • 把路径复制到如下:


    image.png
  • 然后能看到已生成的app01_userinfo 的表(所创建的表)


    image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • (一)、启动服务器 (二)、创建数据库表 或 更改数据库表或字段 Django 1.7.1及以上 用以下命令 1....
    夏天夏星阅读 5,720评论 0 17
  • 切换到创建项目的目录 cd C:\Users\admin\Desktop\DjangoProject创建名为pr...
    在努力中阅读 3,321评论 2 3
  • Web框架之Django: (1)简介: Django是一个由Python写成开源的重量级Web应用框架,采用MT...
    老肖阅读 3,078评论 0 18
  • 模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。软件设计中通常用耦合度和内聚...
    riverstation阅读 2,098评论 0 8
  • 此段内容简要来自自强学堂的教程详情请查询自强学堂 一、 后台的运作流程 接收request请求 处理数据 获取请求...
    coder_ben阅读 5,257评论 6 56