Django与数据库
来源:互联网 发布:数码网络侦探 攻略 编辑:程序博客网 时间:2024/06/13 15:29
1 设置appINSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles','blog',)2 首先要创建数据库:create database csvt;3 配置数据库settings:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'csvt04','USER':'root','PASSWORD':'791745','HOST':'','PORT':'', }}4 配置models:创建了一个表blog_employeeclass Employee(models.Model):name = models.CharField(max_length=20)4 同步数据库:自动检测应用里的modelspython manage.py makemigrations python manage.py migrate这步做完后,数据库中的中出现表:mysql> desc blog_employee;+-------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+----------------+| id | int(11) | NO | PRI | NULL | auto_increment || name | varchar(20) | NO | | NULL | |+-------+-------------+------+-----+---------+----------------+5 数据添加启动解释器E:\test3\csvt03>python manage.py shell创建字段:方式一:from blog.models import EmployeeEmployeess 'blog.models.Employee'>emp = Employee()employee: Employee object>emp.name = 'Alen'emp.save()方式二:直接在构造函数中用 emp = Employee(name = 'tom')emp.save()方式三:通过管理器直接调用>>> Employee.objects.create(name='zhangzhihao')<Employee: Employee object>查看>>> emps = Employee.objects.all()>>> emps[<Employee: Employee object>, <Employee: Employee object>, <Employee: Employee object>, <Employee: Employee object>]>>> emps[0].nameu'Alen'添加方法:class Employee(models.Model):name = models.CharField(max_length=20)def __unicode__(self):return self.name重新导入查看:>>> from blog.models import Employee>>> emps = Employee.objects.all()>>> emps[<Employee: Alen>, <Employee: tom>, <Employee: zhangzhihao>, <Employee: zhuyun>]6 urls.py文件下添加网页urlpatterns = [ url(r'^admin/', include(admin.site.urls)),url(r'^index/$','blog.views.index'),]7 创建index方法:def index(req):emps = Employee.objects.all()return render_to_response('indextest3.html',{'emps':emps})8 创建模板,将数据库中的数据显示在页面:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title></title></head><body>{% for emp in emps%}<div>{{forloop.counter}} : {{emp}}</div>{% endfor %}</body></html>mode多对一关系:1 models中新增方法:from django.db import modelsclass Entry(models.Model):name = models.CharField(max_length=30)def __unicode__(self):return self.nameclass Blog(models.Model):name = models.CharField(max_length=30)entry = models.ForeignKey(Entry)def __unicode__(self):return self.name# Create your models here.2 同步数据库查看数据库结果:mysql> describe blog_blog;+----------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+----------+-------------+------+-----+---------+----------------+| id | int(11) | NO | PRI | NULL | auto_increment || name | varchar(30) | NO | | NULL | || entry_id | int(11) | NO | MUL | NULL | |+----------+-------------+------+-----+---------+----------------+mysql> describe blog_entry;+-------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+----------------+| id | int(11) | NO | PRI | NULL | auto_increment || name | varchar(30) | NO | | NULL | |+-------+-------------+------+-----+---------+----------------+3 进入解释器E:\csvt04>python manage.py shellPython 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32Type "help", "copyright", "credits" or "license" for more information.(InteractiveConsole)>>> from blog.models import Entry,Blog>>> entry1 = Entry.objects.create(name = 'alen')>>> entry1<Entry: alen>>>> entry2 = Entry.objects.create(name = 'max')>>> entry2<Entry: max>>>> entry3 = Entry.objects.create(name = 'carl')>>> entry3<Entry: carl>>>> blog1 = Blog.objects.create(name = 'alen_blog1',entry = entry1)>>> blog1<Blog: alen_blog1>>>> blog1.entry<Entry: alen>>>> blog1.id1L>>> entry1<Entry: alen>>>> entry1.blog_set<django.db.models.fields.related.RelatedManager object at 0x03A51C70>>>> entry1.blog_set.all()[<Blog: alen_blog1>]>>> blog1.entry_id4L>>> entry1.blog_set.all()[<Blog: alen_blog1>]
阅读全文
0 0
- Django与数据库
- django(四)---数据库与ORM
- Django学习笔记之【Django与数据库交互】
- django 个人博客系统开发 - 数据库设计与django Model
- 使django与数据库保持长连接
- python django 与数据库的交互
- Django与MySQL数据库长连接问题
- django 模型model与数据库1
- django 表单与数据库的链接使用
- Mysql 与Django 进行数据库同步
- Pytho django与数据库的交互
- Django与数据库MySQL连接的用法
- Django-数据库常用类型与关键字
- Django数据库操作之save与update
- Django(三)模型与数据库
- Django---数据库
- Django-----数据库
- django与数据库的同步终于成功了!!mark一下
- 常见算法(logistic回归,随机森林,GBDT和xgboost)
- 总结9--接口
- eclipse新建maven项目
- (*:update) Conflicting cross-version suffixes in: org.scala-lang.modules:scala-xml
- caffe下relu_layer.cu详解
- Django与数据库
- Markdown的一些常用语法
- 禁止apache显示目录索引的常见方法
- ajaxfileupload.js回调异常
- 机器学习之神经网络
- 继承
- python CRC16检验
- GBDT(MART) 迭代决策树入门教程 | 简介
- Unity中使用的向量