2024-11-02 00:09:46
导读:今天首席CTO笔记来给各位分享关于django自带数据库怎么用的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
django怎么从数据库读数据,成为表单默认值最简单的办法是。为数据库的表建立一个model。具体做法是这样子。
1.在settings.py里设置数据库连接方式。连接错误后面都没有办法
2.在models设置一个数据库表的对应数据结构,通常叫关系对象模型,所以叫model,它就是一个类。你可以用django-admin.py...probe,似乎是这个命令,就是一个数据库的探测命令,可以根据表,自动生成model的代码。当然如果你先写了model的代码就可以用syncdb命令生成数据库的表
3.在urls.py里设置一个URL的path,当浏览器访问这个path时就可以打开对应的view中的函数
4.在view里
4.1result=modelclass.objects.all()这个命令可以取出所有的记录
4.2然后你可以直接将结果传递给模板。由模板显示。这是最合理的办法
4.3在模板里{%forcolsinresult%}
4.4
cols.field1
大约就是这样子。
如何在django中使用多个数据库
.多个数据库联用时数据导入导出
使用的时候和一个数据库的区别是:
如果不是defalut(默认数据库)要在命令后边加--database=数据库对应的settings.py中的名称如:--database=db1或--database=db2
数据库同步(创建表)
pythonmanage.pysyncdb#同步默认的数据库,和原来的没有区别
#同步数据库db1(注意:不是数据库名是db1,是settings.py中的那个db1,不过你可以使这两个名称相同,容易使用)
pythonmanage.pysyncdb--database=db1
数据导出
pythonmanage.pydumpdataapp1--database=db1app1_fixture.json
pythonmanage.pydumpdataapp2--database=db2app2_fixture.json
pythonmanage.pydumpdataauthauth_fixture.json
数据库导入
pythonmanage.pyloaddataapp1_fixture.json--database=db1
pythonmanage.pyloaddataapp2_fixture.json--database=db2
自己写的python程序怎么使用的django的models在一个爬虫脚本中将爬取的数据通过django自带的model保存到数据库
修改的文件(其余pycharm新建Django项目生成,未修改):
#testapp/models.pyfromdjango.dbimportmodelsclassProblem(models.Model):title=models.CharField(max_length=100,default="")author=models.CharField(max_length=100,default="")
def__str__(self):returnself.titlepass
#testapp/spider.pyimportosimportsysimportdjangopathname=os.path.dirname(os.path.abspath(__file__))sys.path.insert(0,pathname)sys.path.insert(0,os.path.abspath(os.path.join(pathname,'..')))os.environ.setdefault("DJANGO_SETTINGS_MODULE","testproject.settings")django.setup()fromtestapp.modelsimportProblemif__name__=="__main__":p=Problem(title="hi",author="hi")p.save()pass
#testproject/setting.py......INSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',#添加应用'testapp',]......
#testapp/admin.py在后台管理界面注册Problemfromdjango.contribimportadmin#Registeryourmodelshere.fromtestapp.modelsimportProblemadmin.site.register(Problem)
Django里面怎么实现数据库视图啊就是虚拟表正经回答:先在数据库中建立好视图,然后django中建立对应的model。表所对应的类下面再建立一个Meta类,大致如下
class?ViewModel(models.Model):
????"""这个model类对应你所建立好的视图"""
????class?Meta(object):
????????"""同理,该方法可用于使用mysql中任何已有的表,不仅是视图"""
????????db_table?=?'your_view'?#显式指定表名,也就是你建立的视图的名字
????????managed?=?false?#默认是ture,设成false?django将不会执行建表和删表操作
????#?建立字段间的映射
????#??需要注意的是,必须设一个字段为主键
????#??不然django会自动创建一个id字段为主键,引发错误
百度知道越来越辣鸡了,全是答非所问的。
如何独立使用django的数据库访问功能1.安装Django
[plain]viewplaincopy
cdDjango-1.4
pythonsetup.pyinstall
2.安装postgresql的客户端:
[plain]viewplaincopy
sudoapt-getinstall-ypostgresql-client-9.1python-psycopg2
3.新建project:
[plain]viewplaincopy
django-admin.pystartprojectmyproject
4.在myproject下新建app:
[plain]viewplaincopy
pythonmanage.pystartappmyapp
4.新增环境变量:
编辑/etc/profile文件,在末尾加入以下语句:
[plain]viewplaincopy
spanstyle="color:#FF0000;"exportPYTHONPATH=$PYTHONPATH:/home/yc/src/myproject
exportDJANGO_SETTINGS_MODULE=myproject.settings/span
5.
假设数据库已经由Django的另一个应用(名称为otherapp)建好,数据库类型是postgresql,名称为mydb,位于
192.168.1.23。见好的数据库中有一个表,名称是otherapp_user,则将otherapp/models.py拷贝到myapp
/models.py。
注意检查models.py下的classuser类的classMeta:部分,如果没有applabel标签,则要加上:app_label='otherapp'
再修改/home/yc/src/myproject下的settings.py文件,如下:
[plain]viewplaincopy
DATABASES={
'default':{
'ENGINE':'django.db.backends.postgresql_psycopg2',#Add'postgresql_psycopg2','mysql','sqlite3'or'oracle'.
'NAME':'mydb',#'vps2db_test1'Orpathtodatabasefileifusingsqlite3.
'USER':'postgres',#Notusedwithsqlite3.
'PASSWORD':'123',#Notusedwithsqlite3.
'HOST':'192.168.1.23',#Settoemptystringforlocalhost.Notusedwithsqlite3.
'PORT':'5432',#Settoemptystringfordefault.Notusedwithsqlite3.
}
}
[plain]viewplaincopy
INSTALLED_APPS=(
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'spanstyle="color:#FF0000;"myapp/span',
)
6.在myapp目录下编写测试程序
[python]viewplaincopy
frommodelsimportuser
if__name__=="__main__":
try:
u=user.objects.get(id=user_id)
exceptuser.DoesNotExist:
print"usernotexist)
returnNone
else:
returnu
结语:以上就是首席CTO笔记为大家整理的关于django自带数据库怎么用的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~