zoukankan      html  css  js  c++  java
  • Django系列3:Model的简单对接

    1、models.py

    from django.db import models
    
    # Create your models here.
    class Student(models.Model):
        s_name = models.CharField(max_length=16)
        s_age = models.IntegerField(default=1)
    
    

    2、python manage.py makemigrations

    (venv) MacBookPro:HelloDjango zhangxm$ python manage.py makemigrations
    Migrations for 'Two':
      Two/migrations/0001_initial.py
        - Create model Student
    (venv) MacBookPro:HelloDjango zhangxm$ 
    
    

    # Generated by Django 2.2.9 on 2020-01-22 02:28
    
    from django.db import migrations, models
    
    
    class Migration(migrations.Migration):
    
        initial = True
    
        dependencies = [
        ]
    
        operations = [
            migrations.CreateModel(
                name='Student',
                fields=[
                    ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                    ('s_name', models.CharField(max_length=16)),
                    ('s_age', models.IntegerField(default=1)),
                ],
            ),
        ]
    
    

    3、python manage.py migrate

    (venv) MacBookPro:HelloDjango zhangxm$ python manage.py migrate
    Operations to perform:
      Apply all migrations: Two, admin, auth, contenttypes, sessions
    Running migrations:
      Applying Two.0001_initial... OK
    (venv) MacBookPro:HelloDjango zhangxm$ 
    
    

    4 DDL

    -- auto-generated definition
    create table Two_student
    (
      id     integer     not null
        primary key
      autoincrement,
      s_name varchar(16) not null,
      s_age  integer     not null
    );
    
    
    

    5、Django ORM CRUD

    Two->>urls.py

    
    from django.conf.urls import url
    
    from Two import views
    
    urlpatterns = [
    
        url('^index/', views.index),
        url('^addstudent/', views.addstudent),
        url('^getstudents/', views.getstudents),
        url('^updatestudent/', views.updatestudent),
        url('^deletestudent/', views.deletestudent),
    
    ]
    
    

    Two->>views.py

    import random
    
    from django.http import HttpResponse
    from django.shortcuts import render
    
    # Create your views here.
    from Two.models import Student
    
    
    def index(request):
        return HttpResponse("Two index")
    
    
    def addstudent(request):
        student = Student()
        student.s_name = "Jerry %d" % random.randrange(100)
        student.save()
    
        return HttpResponse("Add Success %s" % student.s_name)
    
    
    def getstudents(request):
        students = Student.objects.all()
        for student in students:
            print(student.s_name)
    
            context = {
                "hobby": "PlayGames",
                "eat": "meat",
                "students": students
            }
    
        #return HttpResponse("Students List")
        return render(request, 'student_list.html', context=context)
    
    
    def updatestudent(request):
        student = Student.objects.get(pk=2)
        student.s_name = 'Updated Name'
        student.save()
        return HttpResponse("Update Student Success")
    
    
    def deletestudent(request):
    
        student = Student.objects.get(pk=3)
        student.delete()
    
        return HttpResponse("Delete Student Success")
    
    

    /->>templates->>student_list.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Student List</title>
    </head>
    <body>
    
    this is student list page
    
    {{ hobby }}
    
    {#{{ students }}#}
    
    <ul>
        {% for student in students %}
            <li>{{student.s_name }}</li>
        {% endfor %}
    </ul>
    
    </body>
    </html>
    
  • 相关阅读:
    【数据库_Postgresql】实体类映射问题之不执行sql语句
    【数据库_Postgresql】数据库主键自增长之加序列和不加序列2种方法
    【明哥报错簿】之 mybatis异常invalid comparison: java.util.Date and java.lang.String
    【明哥报错簿】可以访问jsp但是访问不到controller
    【明哥报错簿】tomcat 安装时出现 Failed to install Tomcat7 service
    【Java】SVN下载maven项目到eclipse之后,项目红叉,pom.xml出现Missing artifact fakepath:dubbo:jar:2.8.5等缺少jar包情况
    Mysql学习笔记之常用数据类型 (转)
    MySQL--INFORMATION_SCHEMA COLUMNS表
    mysql int(3)与int(11)的区别
    mysql中utf8_bin、utf8_general_ci、utf8_general_cs编码区别
  • 原文地址:https://www.cnblogs.com/xidianzxm/p/12227967.html
Copyright © 2011-2022 走看看