django如何使用应用外的表作为外键,django如何使用mysql
首先,确保它在MIDDLEWARE_CLASSES中包含“django . contrib . sessions . MIDDLEWARE . session MIDDLEWARE”。如果不想使用进程进程,可以删除该物料。
配置session引擎
默认情况下,django框架会将会话数据存储在数据库中(在django框架默认创建的模型中,有一个模型是存储会话的,这就是为什么你需要在使用数据库之前创建它。使用django . contrib . sessions . models . session模型)。与其他从数据库存储会话的方式相比,它的速度较慢,因此可以配置django将会话存储在文件系统或缓存中。
使用数据库支持的session
如果要将会话存储在数据库中,需要将“django.contrib.sessions”添加到INSTALLED_APPS设置中。并创建一个表来存储会话数据。
使用基于缓存的会话
使用缓存存储会话将比使用数据库更快。
要使用缓存来存储会话,您必须首先配置缓存。
缺点:本地内存缓存不能长时间保存数据,不是一个好的选择。而且,直接使用文件或数据库比缓存文件或数据库更快。本地缓存系统不是多进程安全的。
可以在缓存中定义多个缓存,Django使用默认的缓存,如果要使用其他缓存,可以将SESSIONCACHEALIAS设置为缓存的名称。
配置缓存后,有两种缓存可供选择。
对于简单的缓存会话,可以将SESSIONENGINE设置为“django . contrib . sessions . backends . cache”。这种积极的方式是将数据缓存在内存中,而不是永久存储。如果缓存已满或缓存服务器重新启动,缓存的数据可能会被清除。
要缓存持久数据,应该使用数据库。将SESSIONENGINE设置为“django”。贡献。会话。后端。CachedDB。写入数据时,应该使用缓存。读取时,应该先读取缓存中的数据。如果缓存中的数据被清除,应该从数据库中读取。
两种缓存方法都很快,简单的更快,因为没有数据持久性。
注意:在1.7版之前,cacheddb总是使用默认缓存,而不是SESSIONCACHEALIAS。
使用缓存的示例:
SESSION _ ENGINE= django . contrib . sessions . backends . cache
SessionCACHES= default #表示使用缓存的别名。在贮藏处寻找它们。有两个选项:默认和db1。
缓存={
默认 :{
后端 : django . core . cache . backends . memcached . memcachedcache ,
位置 :[
172.19.26.240:11211,
172.19.26.242:11211,
]
},
db1:{
后端 : django . core . cache . backends . memcached . memcachedcache ,
位置 :[
172.19.26.240:11211,
172.19.26.242:11211,
]
}
}附加内容
缓存的格式,默认:
{
默认 :{
后端 : django . core . cache . backends . loc men . locmemcache ,
}
}
字典包含所有缓存使用的设置。它是一个嵌套字典,其内容将缓存别名映射到包含单个缓存选项的字典。
缓存设置必须配置“默认”缓存;您还可以指定任意数量的附加缓存。如果您使用本地内存缓存以外的其他缓存后端,或者您需要定义多个缓存,则需要添加其他缓存条目。以下是可用的缓存选项。
后端
默认值:“”(空字符串)
要使用的缓存后端。内置缓存后端是:
django . core . cache . backends . db . database cache
django . core . cache . backends . dummy . dummy cache
django . core . cache . backends . file based . filebasedcache
django . core . cache . backends . locmem . locmemcache
django . core . cache . backends . memcached . memcachedcache
django . core . cache . backends . memcached . pylibmccache
通过将BACKEND设置为缓存后端类的全限定路径(即my package . backends . whatever . whatever cache),可以使用Django没有提供的缓存后端。)。
基于文件的会话
使用基于文件的会话“django . contrib . sessions . backends . file”以及SESSIONENGINE和SESSIONFILE_PATH来设置文件位置。如果未设置,则默认存储位置为,其默认值来自tempfile.gettempdir()的输出,在大多数情况下为/tmp。
使用基于Cookie的session
若要使用基于cookie的会话,请将SESSIONENGINE设置为“django . contrib . sessions . backends . signed Cookie”。此时,将使用Django的加密签名工具和SECRET_KEY设置来存储会话数据。
建议将SESSIONCOOKIEHTTPONLY设置为True,以防止从JavaScript访问存储的数据。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。