django开发总结:

一,关于setting目录中的“DEBUG”

DEBUG=False 

把DEBUG从True改成False后就会出现404(必需指定404和500错语页面,如上图的目录结构)找不到页面的错误。原因是DEBUG为 True时django会默认帮我们处理静态文件,而为False的话还需要我们做点事。在全局usrs.py中加下如下代码:

from django.conf import settings if settings.DEBUG is False:
    urlpatterns += patterns(‘‘,
        url(r‘^static/(?P<path>.*)$‘, ‘django.views.static.serve‘, { ‘document_root‘: settings.STATIC_ROOT,
        }),
   )

修改settings.py中的设置:

STATIC_ROOT = ‘F:/testweb/static‘

以上设置是指定静态资源的绝对路径(根据你电脑的具体路径设置正确值),现在应该可以正确访问了。

总结:

  • 在DEBUG为true时我们只需要建立static目录后,把静态资源放进去就可以访问。在DEBUG为False时需要我们手动指定静态资源目录,并配置映射关系。
  • 在正式环境下建议不采用django处理静态资源文件,这样对应用服务器压力较大,也不好做cdn。可以用ngix,apache部署静态资源。

二,setting之MEDIA_ROOT

MEDIA_ROOT主要是用来放置上传的文件。Django的ORM有个特殊的字段叫做FileField是用来存储文件的。不过实际上并不会把文件内 容存到数据库里面——因为大多数数据库保存文件时效率低,而是保存在文件系统里面。FileField只记录一个路径。FileField可以像个 Python的file类型那样读写。

在开发的时候MEDIA_ROOT不应该存放任何文件。它应该指向一个空的目录。运行Django的开发服务器时,需要在urls.py里面加入一个MEDIA_URL的映射,才能正常显示上传的内容:

from django.conf import settings if settings.DEBUG: urlpatterns += patterns(", url(r"^media/(?P<path>.*)$", \ "django.views.static.serve", \ {"document_root": settings.MEDIA_ROOT,}), )

当工程被布署到Apache时也要记得给MEDIA_URL做个映射。

STATIC_ROOT是Django 1.3新增的特性。如同字面上的意思。保存在这个目录里面文件被当成静态文件处理。不过,千万不要把自己辛苦写的JavaScript、图片等静态文件放 到里面去,接着看下去就知道了。与STATIC_ROOT搭配使用的还有STATIC_URL与STATICFILES_DIRS两个变量。 STATIC_URL一般用默认的/static/,用于指定的静态目录的URL。STATICFILES_DIRS则指定一个工程里面哪个目录存放了与 这个工程相关的静态文件,它是一个列表。假定在STATICFILES_DIRS有一个目录是"/dolphin/besteam/pages /static",其中有一个文件是common.js。那么,在浏览器里面输入http://localhost:8000/static /common.js就可以访问这个JavaScript文件了。

更深层次的理解,这个东西其实是用来方便布署Django App的。考虑一下我们编写Django App的情况,经常会有一些静态的文件(JavaScript、图片等)。为了方便,把这些文件放置到App下面的static目录里面。每个App都有 自己的子目录,所以在Django 1.3之前,布署的时候就麻烦了。有三种选择:

1,是使用django.views.static.serve来处理文件。

在App的urls.py里面加上一条:

url(r"^(?/static/P<path>.*)$", "django.views.static.serve",\ {"document_root" : "/path/to/project/app/static/"})

每个App都要加入这条纪录,这样做的话,静态经过了Django的处理,速度太慢。

2,是让用户手动写Apache的映射。

将/static/映射到/path/to/project/app/static。这种方法更麻烦,不仅URL不 能冲突,而且破坏了App的代码独立原则。作为布署者,每个App的情况都要相当熟悉,不能遗落(可以强制每个App都使用static目录)。

3,是由布署者将每个App内的static目录内的文件复制到一个指定的目录。然后重写Apache,将/static映射到这个目录。

这个方案可以说兼有第一方案与第二方案的优点,已经接近staticfiles了。缺点是手动操作,还是太麻烦了一点。

新的Django提供了一个方法自动地将所有的静态文件放在一起。只要在写App的时候创建一个static子目录专门保存静态文件就行了。在开发阶段, 不必费心去做映射,不需要配置urls.py。在布署到生产环境的时候,只需要配置Apache把/static/映射到STATIC_ROOT。然后运 行manage.py collectstatic,自动地STATICFILES_DIRS列出的目录以及各个App下的static子目录的所有文件复制到 STATIC_ROOT。因为复制过程可能会覆盖掉原来的文件,所以,一定不能把我们辛苦做出来静态文件放这边!

在开发阶段,Django把/static映射到django.contrib.staticfiles这个App。staticfiles自动地从 STATICFILES_DIRS、STATIC_ROOT以及各个App的static子目录里面搜索静态文件。一旦布署到开发环境 上,settings.py不需要重新编写,只要在Apache的配置文件里面写好映射,/static将会被Apache处理。 django.contrib.staticfiles虽然仍然存在,但因为不会接收到以/static/开始的路径,所以将不会产生作用。不必担心 Django会使用处理速度变慢。另外,当settings.DEBUG is False的时候,staticfiles将自动关闭。

三,Django 的settings

以下这一部分转载自:http://blog.csdn.net/feng88724/article/details/7221973

基本设置

一个 settings 文件就是一个拥有一些模块级变量的 Python 模块.

下面是几个 settings 的例子:

DEBUG = FalseDEFAULT_FROM_EMAIL = ‘[email protected]‘TEMPLATE_DIRS = (‘/home/templates/mike‘, ‘/home/templates/john‘)

由于一个 settings 文件就是一个 Python 模块, 所以必须遵守以下规则:

  • 不允许有 Python 语法错误.
  • 通过使用正常的 Python 语法,可以动态设置 settings .举例来说:
    MY_SETTING = [str(i) for i in range(30)]
  • 可以从其它 settings 文件中导入值.

设置

使用 Django 时, 你必须告诉它你使用的是哪个 settings . 要做到这一点,使用环境变量 DJANGO_SETTINGS_MODULE.

DJANGO_SETTINGS_MODULE 的值是一个 Python 路径, 举例来说 "mysite.settings". 注意 settings 模块应该在 Python import 搜索路径 中.

django-admin.py 应用程序

使用 django-admin.py 时, 你可以一次性设定环境变量, 也可以在运行该程序时每次显式的将 settings 模块显式的传递给它.

例子 (Unix Bash shell):

export DJANGO_SETTINGS_MODULE=mysite.settingsdjango-admin.py runserver

例子 (Windows shell):

set DJANGO_SETTINGS_MODULE=mysite.settingsdjango-admin.py runserver

使用 --settings 命令行参数手工指定 settings

django-admin.py runserver --settings=mysite.settings

服务器环境 (mod_python)

如果是在服务器环境, 必须告诉 Apache/mod_python 你要使用的是哪个 settings 文件. 通过 SetEnv 来做到这一点:

<Location "/mysite/">    SetHandler python-program    PythonHandler django.core.handlers.modpython    SetEnv DJANGO_SETTINGS_MODULE mysite.settings</Location>

阅读 Django mod_python 文档 以得到更多信息.

默认 settings

如果不需要, Django settings 文件可以不必定义任何 settings. 因为每个设置都有默认值. 这些默认值定义在 django/conf/global_settings.py.

下面是 Django 使用 settings 的法则:

  • 从 global_settings.py 载入默认设置.
  • 从指定的 settings 文件载入用户设置, 需要时覆盖掉默认设置.

注意一个用户 settings 文件 不必t 导入 global_settings, 这是多余的.

查看你改变了哪些设置

有一个简单的办法可以查看你修改了哪些设置.命令 python manage.py diffsettings 显示当前 settings 文件与 Django 默认设置的不同之处.

参阅 diffsettings documentation.

在你的代码中使用 settings

通过从模块 django.conf.settings 导入你需要的变量, 你的代码可以访问这个变量. 例子:

from django.conf.settings import DEBUG

if DEBUG:    # Do something

注意一定 不要 从 global_settings 或你自己的 settings 模块导入设置变量到你的代码. django.conf.settings 概括了默认设置和站点自定义设置的概念,它提供了一个统一的接口用于用户代码访问, 也降低了用户代码与用户设置的耦合程度.

在运行时修改 settings

不应该在程序运行时修改 settings. 举例来说, 不要在一个 view 中做这样的事:

from django.conf.settings import DEBUG

DEBUG = True   # Don‘t do this!

你只应该在你的 settings 文件中设置 settings, 记住,这是原则.

安全性

由于 settings 文件包含敏感信息,象数据库密码等.你应该非常小心的设置它的访问权限. 举例来说, 你可以只允许你和 WEB 服务器用户阅读该文件.在一个共享主机环境时,这一点格外重要.

可用选项

下面是所有可用选项的列表及它们的默认值(按字母顺序排列).

ABSOLUTE_URL_OVERRIDES

默认值: {} (空字典)

一个字典映射 "app_label.module_name" 字符串到一个函数, 该函数接受一个model对象作为参数并返回它的 URL. 这是在一个安装上覆盖 get_absolute_url() 方法的一种方式. 例子:

ABSOLUTE_URL_OVERRIDES = {    ‘blogs.blogs‘: lambda o: "/blogs/%s/" % o.slug,    ‘news.stories‘: lambda o: "/stories/%s/%s/" % (o.pub_year, o.slug),}

ADMIN_FOR

默认值: () (空的tuple)

用于 admin-site settings 模块, 若当前站点是 admin ,它则是一个由 settings 模块组成的 tuple (类似 ‘foo.bar.baz‘ 这样的格式).

admin 站点在 models, views,及 template tags 的自动内省的文档中使用该设置.

ADMIN_MEDIA_PREFIX

默认值: ‘/media/‘

The URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a trailing slash.

ADMINS

默认值: () (空的 tuple)

一个2-元素tuple的 tuple. 列出了有权接收代码错误提示的人. 当 DEBUG=False 时,一个 view 引发了异常, Django 会将详细异常信息用电子邮件的方式发送给这些人. 该tuple的每个成员应该是这种格式: (Full name, e-mail address). 例子:

((‘John‘, ‘[email protected]example.com‘), (‘Mary‘, ‘[email protected]‘))

ALLOWED_INCLUDE_ROOTS

默认值: () (空的 tuple)

一个字符串tuple, 只有以列表中的元素为前缀的模板Django才可以以``{% ssi %}`` 形式访问 . 出于安全考虑, 在不应该访问时,即使是模板的作者也不能访问这些文件.

举例来说, 若 ALLOWED_INCLUDE_ROOTS 是 (‘/home/html‘, ‘/var/www‘), 那么 {% ssi /home/html/foo.txt %} 可以正常工作, 不过 {% ssi /etc/passwd %} 却不能.

APPEND_SLASH

默认值: True

是否给URL添加一个结尾的斜线. 只有安装了 CommonMiddleware 之后,该选项才起作用. (参阅 middleware 文档). 参阅 PREPEND_WWW.

CACHE_BACKEND

默认值: ‘simple://‘

后端使用的 cache . 参阅 cache docs.

CACHE_MIDDLEWARE_KEY_PREFIX

默认值: ‘‘ (空的字符串)

cache 中间件使用的cache key 前缀. 参阅 cache docs.

DATABASE_ENGINE

默认值: ‘postgresql‘

后端使用的数据库引擎: ‘postgresql‘‘mysql‘‘sqlite3‘ 或 ‘ado_mssql‘ 中的任意一个.

DATABASE_HOST

默认值: ‘‘ (空的字符串)

数据库所在的主机. 空的字符串意味着 localhost. SQLite 不需要该项. 如果你使用 MySQL 并且该选项的值以一个斜线 (‘/‘) 开始, MySQL 则通过一个 Unix socket 连接到指定的 socket. 比如:

DATABASE_HOST = ‘/var/run/mysql‘

如果你使用 MySQL 并且该选项的值 不是 以斜线开始, 那么该选项的值就是主机的名字.

DATABASE_NAME

默认值: ‘‘ (空的字符串)

要使用的数据库名字. 对 SQLite, 它必须是一个数据库文件的全路径名字.

DATABASE_PASSWORD

默认值: ‘‘ (空的字符串)

连接数据库需要的密码. SQLite 不需要该项.

DATABASE_PORT

默认值: ‘‘ (空的字符串)

连接数据库所需的数据库端口. 空的字符串表示默认端口. SQLite 不需要该项.

DATABASE_USER

默认值: ‘‘ (空的字符串)

连接数据库时所需要的用户名. SQLite 不需要该项.

DATE_FORMAT

默认值: ‘N j, Y‘ (举例来说 Feb. 4, 2003)

在 Django admin change-list 页对日期字段使用的默认日期格式, 系统中的其它部分也可能使用该格式. 参阅 allowed date format strings.

参阅 DATETIME_FORMAT 和 TIME_FORMAT.

DATETIME_FORMAT

默认值: ‘N j, Y, P‘ (举例来说 Feb. 4, 2003, 4 p.m.)

在 Django admin change-list 页对日期时间字段使用的默认日期时间格式, 系统中的其它部分也可能使用该格式. 参阅 allowed date format strings.

参阅 DATE_FORMAT 和 TIME_FORMAT.

DEBUG

默认值: False

一个开关调试模式的逻辑值

DEFAULT_CHARSET

默认值: ‘utf-8‘

如果一个 MIME 类型没有人为指定, 对所有 HttpResponse 对象将应用该默认字符集. 使用 DEFAULT_CONTENT_TYPE 来构建 Content-Type 头.

DEFAULT_CONTENT_TYPE

默认值: ‘text/html‘

如果一个 MIME 类型没有人为指定, 对所有 HttpResponse 对象将应用该默认 content type. 使用 DEFAULT_CHARSET 来构建 Content-Type 头.

DEFAULT_FROM_EMAIL

默认值: ‘[email protected]‘

用于发送(站点自动生成的)管理邮件的默认 e-mail 邮箱.

DISALLOWED_USER_AGENTS

默认值: () (空的 tuple)

一个编译的正则表达式对象列表,用于表示一些用户代理字符串.这些用户代理将被禁止访问系统中的任何页面. 使用这个对付页面机器人或网络爬虫.只有安装 CommonMiddleware 后这个选项才有用(参阅 middleware 文档).

EMAIL_HOST

默认值: ‘localhost‘

用来发送 e-mail 的主机. 参阅 EMAIL_PORT.

EMAIL_HOST_PASSWORD

默认值: ‘‘ (空的字符串)

EMAIL_HOST 中定义的 SMTP 服务器使用的密码. 如果为空, Django 不会尝试进行认证.

参阅 EMAIL_HOST_USER.

EMAIL_HOST_USER

默认值: ‘‘ (空的字符串)

EMAIL_HOST 中定义的 SMTP 服务器使用的用户名. 如果为空, Django 不会尝试进行认证.

参阅 EMAIL_HOST_PASSWORD.

EMAIL_PORT

默认值: 25

EMAIL_HOST 中指定的SMTP 服务器所使用的端口号.

EMAIL_SUBJECT_PREFIX

默认值: ‘[Django] ‘

django.core.mail.mail_admins 或 django.core.mail.mail_managers 发送的邮件的主题前缀.

ENABLE_PSYCO

默认值: False

如果允许 Psyco, 将使用Pscyo优化 Python 代码. 需要 Psyco 模块.

IGNORABLE_404_ENDS

默认值: (‘mail.pl‘, ‘mailform.pl‘, ‘mail.cgi‘, ‘mailform.cgi‘, ‘favicon.ico‘, ‘.php‘)

参阅 IGNORABLE_404_STARTS.

IGNORABLE_404_STARTS

默认值: (‘/cgi-bin/‘, ‘/_vti_bin‘, ‘/_vti_inf‘)

一个字符串 tuple . 以该tuple中元素为开头的 URL 应该被 404 e-mailer 忽略. 参阅 SEND_BROKEN_LINK_EMAILS 和 IGNORABLE_404_ENDS.

INSTALLED_APPS

默认值: () (空的 tuple)

一个字符串tuple ,内容是本 Django 安装中的所有应用. 每个字符串应该是一个包含Django应用程序的Python包的路径全称, django-admin.py startapp 会自动往其中添加内容.

INTERNAL_IPS

默认值: () (空的 tuple)

一个 ip 地址的 tuple(字符串形式), 它:

  • 当 DEBUG 为 True 时,参阅调试务注解
  • 接收 X 头(若 XViewMiddleware 已安装), (参阅 middleware 文档)

JING_PATH

默认值: ‘/usr/bin/jing‘

"Jing" 执行文件路径全名. Jing 是一个 RELAX NG 校验器, Django 使用它对你的 model 的 XMLField 进行验证. 参阅 http://www.thaiopensource.com/relaxng/jing.html .

LANGUAGE_CODE

默认值: ‘en-us‘

表示默认语言的一个字符串. 必须是标准语言格式. 举例来说, U.S. English 就是 "en-us". 参阅 internationalization docs.

LANGUAGES

默认值: 一个 tuple (内容为所有可用语言). 目前它的值是:

LANGUAGES = (    (‘bn‘, _(‘Bengali‘)),    (‘cs‘, _(‘Czech‘)),    (‘cy‘, _(‘Welsh‘)),    (‘da‘, _(‘Danish‘)),    (‘de‘, _(‘German‘)),    (‘en‘, _(‘English‘)),    (‘es‘, _(‘Spanish‘)),    (‘fr‘, _(‘French‘)),    (‘gl‘, _(‘Galician‘)),    (‘is‘, _(‘Icelandic‘)),    (‘it‘, _(‘Italian‘)),    (‘no‘, _(‘Norwegian‘)),    (‘pt-br‘, _(‘Brazilian‘)),    (‘ro‘, _(‘Romanian‘)),    (‘ru‘, _(‘Russian‘)),    (‘sk‘, _(‘Slovak‘)),    (‘sr‘, _(‘Serbian‘)),    (‘sv‘, _(‘Swedish‘)),    (‘zh-cn‘, _(‘Simplified Chinese‘)),)

一个2-元素tuple<格式为 (语言代码, 语言名称)>的 tuple. 该设置用于选择可用语言.参阅 internationalization docs 了解细节.

通常这个默认值就足够了.除非你打算减少提供的语言数目,否则没必要修改这个设置.

MANAGERS

默认值: ADMINS (不论 ADMINS 是否已经设置)

一个和 ADMINS 同样格式的 tuple , 当 SEND_BROKEN_LINK_EMAILS=True 时, 这些人有权接收死链接通知信息.

MEDIA_ROOT

默认值: ‘‘ (空的字符串)

一个绝对路径, 用于保存媒体文件. 例子: "/home/media/media.lawrence.com/" 参阅 MEDIA_URL.

MEDIA_URL

默认值: ‘‘ (空的字符串)

处理媒体服务的URL(媒体文件来自 MEDIA_ROOT). 如: "http://media.lawrence.com"

MIDDLEWARE_CLASSES

默认值:

("django.contrib.sessions.middleware.SessionMiddleware", "django.contrib.auth.middleware.AuthenticationMiddleware", "django.middleware.common.CommonMiddleware", "django.middleware.doc.XViewMiddleware")

一个django 用到的中间件 class 名称的 tuple. 参阅 middleware 文档.

PREPEND_WWW

默认值: False

是否为没有 "www." 前缀的域名添加 "www." 前缀. 当且仅当安装有 CommonMiddleware 后该选项才有效. (参阅 middleware 文档).参阅 APPEND_SLASH.

ROOT_URLCONF

默认值: Not defined

一个字符串,表示你的根 URLconf 的模块名. 举例来说:"mydjangoapps.urls". 参阅 Django如何处理一个请求.

SECRET_KEY

默认值: ‘‘ (空的字符串)

一个密码. 用于为密码哈希算法提供一个种子.将其设置为一个随机字符串 -- 越长越好. django-admin.py startproject 会自动给你创建一个.

SEND_BROKEN_LINK_EMAILS

默认值: False

当有人从一个有效Django-powered页面访问另一个Django-powered页面时发现404错误(也就是发现一个死链接)时, 是否发送一封邮件给 MANAGERS. 当且仅当 安装有 CommonMiddleware 时该选项才有效(参阅`middleware 文档`_). 参阅 IGNORABLE_404_STARTS `` 和 IGNORABLE_404_ENDS``.

SERVER_EMAIL

默认值: ‘[email protected]‘

用来发送错误信息的邮件地址, 比如发送给 ADMINS 和 MANAGERS 的邮件.

SESSION_COOKIE_AGE

默认值: 1209600 (2周, 以秒计)

session cookies 的生命周期, 以秒计. 参阅 session docs.

SESSION_COOKIE_DOMAIN

默认值: None

session cookies 有效的域. 将其值设置为类似 ".lawrence.com" 这样 cookie 就可以跨域生效, 或者使用 None 作为一个标准的域 cookie. 参阅 session docs.

SESSION_COOKIE_NAME

默认值: ‘sessionid‘

session 使用的cookie 名字. 参阅 session docs.

SESSION_SAVE_EVERY_REQUEST

默认值: False

是否每次请求都保存session. 参阅 session docs.

SITE_ID

默认值: Not defined

是一个整数, 表示 django_site 表中的当前站点. 当一个数据包含多个站点数据时,你的程序可以据此 ID 访问特定站点的数据.

TEMPLATE_CONTEXT_PROCESSORS

默认值:

("django.core.context_processors.auth","django.core.context_processors.debug","django.core.context_processors.i18n")

A tuple of callables that are used to populate the context in RequestContext. These callables take a request object as their argument and return a dictionary of items to be merged into the context.

TEMPLATE_DEBUG

默认值: False

一个布尔值,用来开关模板调试模式.若设置为 True, 如果有任何 TemplateSyntaxError,一个详细的错误报告信息页将被显示给你.这个报告包括有关的模板片断,相应的行会自动高亮.

注意 Django 仅在 DEBUG 为 True 时显示这个信息页面.

参阅 DEBUG.

TEMPLATE_DIRS

默认值: () (空的 tuple)

模板源文件目录列表,按搜索顺序. 注意要使用 Unix-风格的前置斜线(即‘/‘), 即便是在 Windows 上.

参阅 template documentation.

TEMPLATE_LOADERS

默认值: (‘django.template.loaders.filesystem.load_template_source‘,)

一个元素为可调用对象(字符串形式的)的 tuple. 这些对象知道如何导入 templates 从各种源中. 参阅 template documentation.

TEMPLATE_STRING_IF_INVALID

默认值: ‘‘ (空的字符串)

输出文本, 作为一个字符串. 模板系统将会在出错 (比如说拼错了) 时使用该变量. 参阅 How invalid variables are handled.

TIME_FORMAT

默认值: ‘P‘ (举例来说 4 p.m.)

Django admin change-list 使用的默认时间格式. 有可能系统的其它部分也使用该格式. 参阅 allowed date format strings.

参阅 DATE_FORMAT 和 DATETIME_FORMAT.

TIME_ZONE

默认值: ‘America/Chicago‘ (我们可以用 ‘Asia/Shanghai PRC‘ )

一个表示当前时区的字符串. 参阅 选择项列表.

Django 据此设置转换所有的日期/时间 -- 并不考虑服务器的时区设置. 举例来说, 一台服务器可以服务多个 Django-powered 站点,每个站点使用一个独立的时区设置.

USE_ETAGS

默认值: False

一个布尔值.指定是否输出 "Etag" 头. 这个选项可以节省网络带宽,但损失性能. 只有安装 CommonMiddleware 后这个选项才有用(参阅 middleware 文档)

创建你自己的 settings

你可以为自己的Django 应用程序创建自定义 settings. 只需要你遵守以下惯例:

  • 设置名称全部大写.
  • 如果某项设置是一个序列,优先使用 tuple.这完全是基于性能考虑.
  • 不要为已经存的一个设置重新发明一个名字.
时间: 2024-08-25 07:02:16

django开发总结:的相关文章

Django开发BBS---51网络课程笔记(1)

51上有一个用Django开发BBS论坛的免费视频,就开发过程写个简要的笔记.课程地址:http://edu.51cto.com/course/course_id-2787.html 论坛的开发以"抽屉"http://dig.chouti.com/ 为原型.开发一个类似的BBS网站. 抽屉网站的主界面结构: 由此,在创建项目之前,确定数据的表结构: 首先,应当有一个发帖的表, 其次, 是哪个用户发的,应当创建一个用户表 再有,应当有一个评论表.评论表中有一个id与帖子表相连 还应当建立

Django开发环境搭建

Django 项目是一个定制框架,它源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来.Django 框架的核心组件有:用于创建模型的对象关系映射,为最终用户设计的完美管理界面,一流的 URL 设计,设计者友好的模板语言,缓存系统等. 为了搭建Django开发环境,先去Django官网看看.在Dlownload目录下告诉了用户怎么获取Django. How to get Django Django is available open-source under the BSD

CentOS6设置Django开发环境

今天在我的Centos6.5机器上安装 Django 开发环境,在安装完使用 "django-admin.py startproject myapp" 创建应用的时候报了下面的错误 $ django-admin.py startproject myapp Traceback (most recent call last): File "/home/jhadmin/myenv/bin/django-admin.py", line 2, in <module>

django开发微信公众平台遇到的问题记录

在pythonanywhere.com上使用django开发微信公众平台应用,结果用户发送的信息,微信服务器一次也没有成功转发到pythonanywhere上来,但是用接口测试工具调试却发现是正常的,而且修改URL配置时验证也是成功的,找了几天,终于发现原来是URL配置末尾少了个斜杠,因为在django的url配置中有斜杠. 原因是在后台配置URL的时候是手写的,而用测试工具测试的时候我是复制的地址. 总结: 如果发现微信服务器无法转发消息到自己的应用服务器上,检查配置,主要就是URL和TOKE

django开发个人简易Blog—nginx+uwsgin+django1.6+mysql 部署到CentOS6.5

前面说完了此项目的创建及数据模型设计的过程.如果未看过,可以到这里查看,并且项目源码已经放大到github上,可以去这里下载. 代码也已经部署到sina sea上,地址为http://fengzheng.sinaapp.com/ 先跳过视图展示及表单处理的部分,先介绍一下如何部署. 标题中已经把部署环境介绍的很清楚了: 服务器:CentOS6.5 其实就是我的开发机 mysql:Server version: 5.1.73 Source distribution nginx版本: nginx/1

JDK1.7+eclipse 4.4(luna)+pydev4.4.5构建django开发环境

最近一直用pycharm搞django学习,但是到2017年随着版本的不断更新,启动之慢,吃资源吃内存越来越严重.果然想找一个IDE替代品. 之前用java开发分布式WEB应用,用eclipse开了N多个tomcat服务也不觉得慢太多.对eclipse印象很是不错. 经过一两天的摸索,也走了一些弯路,终于搞定JDK1.7+eclipse 4.4(luna)+pydev4.4.5构建django开发环境,分享记录一下: 1.第一个坑就是JDK与eclips的位数要一致,必须同为32或64位.版本不

Django 开发(二) 《models》

python 2.7.6 Django1.8.3 IDE eclipse+pydev Django开发的模式就是MTV(c)模式(model, template, view(urls)). 对于model我的理解是对于每一个在app.models中的class对应的就是每个数据库的表格,而models主要的也就是定义一个TABLE,与数据库进行交互,对数据进行增删改查等等,这是对于一个网站存储数据的核心. 对于创建好的models首先要生成一个数据库,假如要使用的数据库是sqlite,那么就不需

Django开发BBS---51网络课程笔记(目录)

这是51cto中bbs课程中的一个项目,这里写一下每节的目录: Django开发BBS---51网络课程笔记(1) 这部分主要介绍了数据库的搭建及站点管理 http://4440271.blog.51cto.com/4430271/1663863 Bootstrap开发 这不分主要讲前端的设计 http://4440271.blog.51cto.com/4430271/1663934 Django开发BBS---51网络课程笔记(2) 这部分主要讲view与前端的衔接部分 http://4440

Django开发笔记之数据库的设计

后台采用Django开发,可以体会到开发的便利之处,对于一个项目来说,首先最重要的是数据库的设计,那么在Django下数据库设计主要是如下步骤: 1,需求分析,这点子不用多说,而我也深刻体会到了没有原型的时候就开始开发的困难之处,每次需求更改就会带来后台的数据和对应接口的一次变更.费时费精力 2.有了需求,那么开始数据库的设计,在Django中,并不需要直接去操作数据库,而且使用继承modesl.Model的类,在类中定义自己的模型,然后使用Python manage.py syncdb就可看到

django开发个人简易Blog——构建项目结构

开发之前第一步,就是构造整个的项目结构.这就好比作一幅画,第一步就是描绘轮廓,有了轮廓,剩下的就是慢慢的填充细节.项目结构规划如下图: 项目结构描述: 本项目以fengzhengBlog为根目录. admin.blogapp是两个app目录,用于实现项目主要功能:包括模型定义.视图定义等 css.js.images分别为样式文件.js.图片的静态文件存放目录. template目录存放模板文件. ueEditor是富文本编辑器uEditor的目录. settings.py是全局配置文件,urls