在配置里将数据库路径放进去。然后在module里,自己选择相应的库与相应的model做关联。
此外还可以指定表格中的字段名。另外如果上面的方法不好用,你也可以自己直接连接数据库,自己管理。
django的数据库连接是没有连接池的。 每次访问都连接一次,效率低。不过你也可以用同样的原理 ,用mysqldb之类的库,自己建立数据库连接。
创建mysite目录
django-adminpy startproject mysite这个命令作用是:这将创建在当前目录创建一个mysite目录
前提是从命令行上cd到你想储存你代码的目录,然后生成各种子目录
这里面的文件大致作用:
books这个 文件夹存放的是新建数据库的各种信息
books/templates这个目录下装的是网页的布局,当然这个网页的布局就是showhtml所提供
books/viewspy定义函数,并且把showhtml引入进去,文件内容如下:
from djangoshortcuts import render,render_to_response
from djangotemplate import loader
from books import models
# Create your views here
def show(request):
# publisher_list = [{'name':"gongye",'city':'beijing'}]
publisher_list = modelsPublisherobjectsall()
return render_to_response('showhtml',{'publisher_list':publisher_list})
12345678910111213
books/modelspy文件存放的是你所创建的数据库,代码如下:
#coding=utf-8
from __future__ import unicode_literals
from djangodb import models
# Create your models here
class Publisher(modelsModel):
name = modelsCharField(max_length = 30)
address = modelsCharField(max_length = 50)
city = modelsCharField(max_length = 60)
state_province = modelsCharField(max_length = 30)
country = modelsCharField(max_length = 50)
website = modelsURLField()
# __unicode__这个函数用来返回某个值可以很好的用于查询和admin界面的显示
def __unicode__(self):
return selfname
class Author(modelsModel):
first_name = modelsCharField(max_length = 30)
last_name = modelsCharField(max_length = 40)
email = modelsEmailField(blank = True,verbose_name = 'e-mail')
def __unicode__(self):
return u'%s %s'%(selffirst_name,selflast_name)
class Book(modelsModel):
title = modelsCharField(max_length = 100)
author = modelsManyToManyField(Author)
publisher = modelsForeignKey(Publisher)
publication_date = modelsDateField(blank = True,null = True)
def __unicode__(self):
return selftitle
123456789101112131415161718192021222324252627282930313233
books下其他的文件就是在创建的过程中自己产生的
website/templates文件里存放的是各种显示的静态网页布局,这么多html文件,只要你在访问测试的时候,端口号后面加上html的文件名字就行比如,我要访问templates/basehtml文件,输入网址:localhost:8000/base就可以
website/settingspy文件是Django的设置文档,里面的INSTALLED_APPS添加多个应用,比如这里面我九添加了books应用,代码如下:
INSTALLED_APPS = [
'djangocontribadmin',
'djangocontribauth',
'djangocontribcontenttypes',
'djangocontribsessions',
'djangocontribmessages',
'djangocontribstaticfiles',
'books',
在Django项目中,如果你没有设计数据库,那么你可以在配置文件中将DATABASES设置为空,这样Django会使用默认的SQLite数据库。
你可以在settingspy文件中找到DATABASES设置。如果你没有设计数据库,可以将其设置为空,例如:
```python
DATABASES = {}
```
或者你可以直接注释掉整个DATABASES设置,例如:
```python
# DATABASES = {
# 'default': {
# 'ENGINE': 'djangodbbackendssqlite3',
# 'NAME': BASE_DIR / 'dbsqlite3',
# }
# }
```
Django教程——01安装使用
在上面一篇文章里,介绍了安装Django的方法,这里说说连接数据库吧
这篇主要介绍踩的坑和解决办法
正常连接和初始化数据库的命令是
执行这个命令的时候,出现了如下报错
经过一段排查,是我配置数据库的时候,多嵌套了一层default,修改为如下即可
然后继续执行migrate时,会报如下错误
本机环境是mac电脑,按官方教程 *** 作的时候,发现安装mysqlclient的python包会依赖本机安装mysql或者mysql-client,但在装mysql和mysql-client的时候,发现一直报错。后面发现解决办法是,在settingspy文件里,加下如下代码,即改用pymsql连接即可。
或者在settingspy同目录的__init__py里加如上代码也可以
然后再执行python managepy migrate命令会发现表顺利创建。新增表,不影响原有库的其他表。
以上就是关于如何在django中使用多个数据库全部的内容,包括:如何在django中使用多个数据库、django 查询MySQL数据库、django项目若未设计数据库,那么配置文件中DATABASE可以为空吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)