`
xiaolin0199
  • 浏览: 573054 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Django settings之完美设计

 
阅读更多

起因

写道
settings文件是网站最为关键的配置文件,但这个文件对于不同时期的版本里面的内容是不一样的.经常会造成该文件被莫名替换,被修改
导致一些不可知的问题发生.

 

需求

写道
设计好的settings模式,来方便于在各种环境中进行测试;
设计好的settings,就是如何建立完善的Django设置模块。

 

资源

http://rdegges.com/the-perfect-django-settings-file

 

测试

写道
让我们删掉settings.py文件,来创建一个settings的模块吧..

 

the one

 

mv settings.py settings.py.me
django-admin.py startapp settings

 

 

the second

写道
1.定义一个common.py文件,用来放置所有配置共享的信息,即公共信息;
2.定义各个环境下用到的配置文件,并确保在文件的开头import common.py的信息;
如:dev.py,work.py等.
3.运行 python manage.py runserver --settings=settings.dev

 

 

看看我的更改

1.创建了一个settings的app,包含__init__.py文件,这个settings的app就不需要加入到settings.py的apps里了;
2.创建了一个common.py文件,里面放的是所有的公共信息;
3.创建了一个dev.py的开发环境配置信息,我只放了下面几组信息;
#coding=utf-8
from common import *

DEBUG = True 
#DEBUG = False
LOCAL_DEV = DEBUG   # this is a Product env
#LOCAL_DEV = False # this is a Product env
TEMPLATE_DEBUG = DEBUG

#django-tool-bar
if LOCAL_DEV:
    INTERNAL_IPS = ('127.0.0.1',)
    

CACHE_BACKEND='memcached://127.0.0.1:11211/'
CACHE_TIMEOUT = 60*60*24
CACHE_PREFIX = 'icgoo'

DJANGO_SETTINGS_MODULE = 'settings.dev'

SITE_URL = ''

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'icgoo',               # Or path to database file if using sqlite3.
        'USER': 'lidongdev',                  # Not used with sqlite3.
        'PASSWORD': 'asdasd',                # Not used with sqlite3.
        'HOST': '192.168.0.8',               # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '3306',                      # Set to empty string for default. Not used with sqlite3.
    },
    'slave1': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'xiaofei_icgoo',            # Or path to database file if using sqlite3.
        'USER': 'root',                  # Not used with sqlite3.
        'PASSWORD': '820310',               # Not used with sqlite3.
        'HOST': 'localhost',               # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '3306',                    # Set to empty string for default. Not used with sqlite3.
    },
    'icbase': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'icgoo_icbase',            # Or path to database file if using sqlite3.
        'USER': 'lidongdev',                  # Not used with sqlite3.
        'PASSWORD': 'asdasd',               # Not used with sqlite3.
        'HOST': '192.168.0.8',               # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '3306',                    # Set to empty string for default. Not used with sqlite3.
    },     
}

**  这里的DJANGO_SETTINGS_MODULE变量以前是settings,因为以前的配置文件就是settings,这里变成了settings.dev文件; ***
4.common.py里还有一个文件需要修改一下
  DIRNAME = os.path.dirname(__file__) (old)
  DIRNAME = os.path.split(os.path.dirname(__file__))[0] (new)

  以前settings文件是直接放在根目录的,但现在的dev设置文件,是在settings文件夹下,所以还要退出settings文件夹.
5.运行
  ^Cxiaofei@xiaofei-desktop:~/work/branches/xiaofei/v44$ python manage.py runserver --settings=settings.dev
21 Nov 2012 09:58:14 root         INFO     Satchmo Started
21 Nov 2012 09:58:15 root         INFO     Satchmo Started
Validating models...

21 Nov 2012 09:58:16 purchaseorder.config DEBUG    added purchase order payments
socket setdefaulttimeout: 60 s
socket set timeout: 10 s
结束初始化第一次访问 http://cn.mouser.com 设置cookie语言货币取值为: 英文网站 美元货币 
has set timeout of socket is:  10 s
socket set timeout: 10 s


21 Nov 2012 09:58:17 shop.listeners DEBUG    Added default shop listeners
0 errors found
Django version 1.3, using settings 'settings.dev'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

 

问题

写道
1.发现所有的国际化都不自动翻译了??
  -- 我发现  我改为 --settings=v44.settings.dev就好了。。

 

 

分享到:
评论

相关推荐

    python3.6 django1.11 xadmin

    Django是一个高级的Python Web框架,它鼓励快速开发和清洁、实用的设计。而Xadmin是一个基于Django的后台管理工具,它提供了美观的界面和强大的功能,让开发者能够轻松地对数据库进行操作和管理。 Xadmin是Django ...

    Python库 | django-bootstrap3-12.1.0.tar.gz

    这个库将Bootstrap 3框架与Django完美结合,让开发者能够快速地创建具有响应式设计和现代外观的网页。 **django-bootstrap3库介绍** `django-bootstrap3` 是一个为Django项目提供Bootstrap 3集成的第三方库。它...

    使用django+zeromq+tornado实现基于消息机制的websocket

    Django是Python的一款流行Web开发框架,以其MVT(Model-View-Template)设计模式而闻名。在这个项目中,Django主要负责处理HTTP请求和响应,提供数据库交互,以及处理用户认证和权限控制等任务。 2. WebSocket: ...

    django与vue的完美结合_实现前后端的分离开发之后在整合的方法

    本篇文章将探讨如何将Python的Django框架与JavaScript的Vue.js库完美结合,实现前后端分离,并最终进行整合。 首先,我们需要创建一个Django项目。通过运行`django-admin startproject mysite`命令,我们可以初始化...

    Python电影搜索Web系统-毕业课程设计项目(Python+Django)

    该项目是基于python的web类库django开发的一套web网站,是一款非常完美的毕业设计课程作业。 特别适合研究搜索领域的人士。在该项目中,开发了一个简单版的搜索网站,实现了对数据库数据的检索和更新!项目中包含...

    完整版Django技术介绍.docx

    Django 框架的核心组件有模型对象关系映射、完美管理界面、一流的 URL 设计、设计者友好的模板语言和缓存系统。 在 Django 中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、...

    Python库 | django_crispy_bulma-0.0.3-py3-none-any.whl

    `django_crispy_bulma`是Crispy Forms与Bulma的完美融合,它为Django应用提供了一种快速集成Bulma样式的途径。通过这个库,开发者可以轻松地将Django的表单转换为符合Bulma设计风格的界面,从而提升用户体验。 在...

    PyPI 官网下载 | django-croppie-1.2.tar.gz

    Django-croppie则将这个功能与Django后端完美结合,提供了便捷的接口和模型字段,使得在Django项目中处理用户上传并裁剪图片变得简单易行。 **主要特点** 1. **用户友好的界面**:Django-croppie使用Croppie的交互...

    Python-一个Heroku应用程序的Django库

    这个名为"Python-一个Heroku应用程序的Django库"的资源,就是将Django与Heroku的完美结合,旨在为开发者提供一个无缝的开发和部署体验。 首先,我们需要理解Django的核心概念。Django遵循MVC(模型-视图-控制器)...

    Python库 | django_fluent_comments-2.1-py2.py3-none-any.whl

    在使用`django_fluent_comments`之前,确保你的项目已经安装了Django框架,并在`settings.py`中将`django_comments`和`django_fluent_comments`添加到`INSTALLED_APPS`列表中。然后,你需要在URL配置中包含必要的...

    PyPI 官网下载 | django-simple-pagination-1.1.3.tar.gz

    `django-simple-pagination`是一个在PyPI上发布的Python库,专为Django框架设计,用于简化网页分页功能的实现。这个资源的版本是1.1.3,表明它是该库的一个更新迭代,可能包含了错误修复、性能提升或新特性。 **...

    zappa-django-guide:在zappa上使用django的功能全面(由无服务器环境中的AWS Lambda支持)

    《Zappa与Django的完美融合:在AWS Lambda上的无服务器实践》 在当前的云技术发展趋势中,无服务器架构(Serverless)以其低成本、高弹性、免运维的特点,正在逐步成为Web应用部署的新选择。其中,Zappa与Django的...

    crispy-forms-foundation:Django应用程序为Foundation添加“ django-crispy-forms”布局对象

    而 `crispy-forms-foundation` 是一个扩展,专为集成Zurb Foundation框架设计,提供了一套预定义的布局对象,使Django应用的表单与Foundation的UI组件完美融合。 首先,我们需要理解`django-crispy-forms`的基本...

    Mysql数据库反向生成Django里面的models指令方式

    在Django的settings.py文件中设置DATABASES配置,例如: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'your_database_name', 'USER': 'your_database_user', '...

    pyCharmSettings

    例如,安装"Python Console"插件可以增强Python控制台的功能,"Django"插件则提供对Django框架的完美支持。 六、版本控制系统集成 PyCharm内置了对Git、SVN等多种版本控制系统的支持。在"Version Control"设置中,...

    喷气脑环境

    PyCharm则是Python开发者的得力助手,它不仅提供了Python语言的智能代码补全、调试、测试和部署等功能,还支持Django、Flask等Python Web框架。对于数据科学家来说,PyCharm还集成了IPython Notebook,方便进行数据...

Global site tag (gtag.js) - Google Analytics