如何在django中使用多个数据库

如何在django中使用多个数据库,第1张

可以啊。不过要手工写了。在配置里将数据库路径放进去。然后在module里,自己选择相应的库与相应的model做关联。

此外还可以指定表格中的字段名。另外如果上面的方法不好用,你也可以自己直接连接数据库,自己管理。

django的数据库连接是没有连接池的。 每次访问都连接一次,效率低。不过你也可以用同样的原理 ,用mysqldb之类的库,自己建立数据库连接。

我没环境,不方便帮你写代码,但可以告诉你思路:

你想用ajax方式查数据,第一步,你已经获取到了输入表单的的值,这很好。

第二步,你需要添加一个查询接口路由,和view,用来返回查询到后数据。

第三步,让前端js代码,用ajax的方式,请求你添加的查询路由地址,带上参数。

第四步,在路由对应的view代码中,获取通过url请求传过来的参数。

第五步,在view代码中,对参数进行检查,通过后,调用数据查询方法,获取结果集。

第六步,在view代码中,将结果集转为json(一般是json),返回。

第七步,ajax在收到返回结果后,将数据显示在网页中。

第八步,调整数据显示的样式,使之美观一点。

如有不明可以追问,或私信留言。

创建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中使用多个数据库全部的内容,包括:如何在django中使用多个数据库、django2.0,实现搜索数据库数据并显示在网页的功能、django 查询MySQL数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10637812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存