zoukankan      html  css  js  c++  java
  • django 02--与数据库交互

    创建数据库

    mysql -u root -p
    CREATE DATABASE villa DEFAULT CHARSET=utf8;
    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON villa.* TO 'vamei'@'localhost' IDENTIFIED BY 'vameiisgood';
    

    配置setting.py

    DATABASES = {
        'default': {
            # 'ENGINE': 'django.db.backends.sqlite3',
            # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'villa',
            'USER': 'vamei',
            'PASSWORD': 'vameiisgood',
            'HOST': 'localhost',
            'PORT': '3306',
        }
    }
    

    windows下如果使用的是virtualenv虚拟环境的话,可能需要安装pip install mysqlclient, 测试一下是否正常:>>>import MySQLdb

    同步数据库

    python manage.py migrate
    

    创建模型

    修改west/models.py

    from __future__ import unicode_literals
    from django.db import models
    
    
    # Create your models here.
    class Character(models.Model):
        name = models.CharField(max_length=200)
    
        def __unicode__(self):
            return self.name
    

    再次同步数据库

    python manage.py makemigrations west
    python manage.py migrate
    

    Django Shell

    $python manage.py shell
    Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win
    32
    Type "help", "copyright", "credits" or "license" for more information.
    (InteractiveConsole)
    >>> import django
    >>> from west.models import Character
    >>> Character.objects.all()
    <QuerySet []>
    >>> c = Character(name='John')
    >>> c.save()
    >>> c.id
    1L
    >>> c.name
    'John'
    >>> c.name = 'Vamei'
    >>> c.save()
    >>> Character(name='Django').save()
    >>> Character(name='John').save()
    >>> Character.objects.all()
    <QuerySet [<Character: Vamei>, <Character: Django>, <Character: John>]>
    

    增加一个页面,显示所有人员

    修改west/views.py

    def staff(request):
        staff_list = Character.objects.all()
        staff_str = map(str, staff_list)
        return HttpResponse("<p>" + ' '.join(staff_str) + "<p>")
    

    修改west/urls.py

    url(r'^staff/', views.staff),
    

    访问127.0.0.1:8000/west/staff

  • 相关阅读:
    linux设备驱动模型二【转】
    Linux设备驱动模型【转】
    内核学习方法,编译、调试等常见问题【转】
    第十四章 netlink机制--基于Linux3.10【转】
    手把手教你把Vim改装成一个IDE编程环境(图文)【转】
    Netlink通信机制【转】
    mac电脑的使用
    【转】不要使用SBJSON(json-framework)
    【转】IOS中Json解析的四种方法
    【转】iOS程序自动检测更新的实现 -- 思路不错
  • 原文地址:https://www.cnblogs.com/keer2345/p/6021661.html
Copyright © 2011-2022 走看看