django学习记录

error list

1.python manage.py validate失败

django book中文档比较老旧,在settings.py中的install app列表中,不许要写‘project_name.app_name’,直接写‘app_name’即可。

比如:python manage.py startapp books

则settings.py中的配置如下:

INSTALLED_APPS = (

    'books', # not 'project.books'

)


2.python manage.py validate失败

error msg:TypeError: __init__() got an unexpected keyword argument 'maxlength'

Django下出现这个错误,记录一下,貌似以前的版本是应该用maxlength,但是新版本里面使用max_length


3.manage.py syncdb 失败

使用sqlite就行测试开发,需要在settings里写出完整的path,比如:

DATABASES = {

    'default': {
        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': '/home/ljs/api/jssite/db/blog.sqlite3',  # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}


配置

*****
假设:
django_manage.py startproject site_name;
cd site_name;
django_manage.py startapp blog, app 名字为blog;
*****

1.url配置

  • site_name/settings中,INSTALL_APP中,直接写'blog',不需要写'site_name/blog'
  • site_name/urls中,urlpatterns的配置也直接写'blog‘,比如:
             urlpatterns = patterns('',
                 url(r'^blogs/', include('blog.urls')),
             )
  • blog/urls中,也不需要写site_name,比如:
             urlpatterns = patterns(''
                  url(r'^$', 'blog.views.blog'),   
              )

2.File or ImageFile 上传目录配置

settings.py中:
MEDIA_ROOT = '/home/manson/workspace/gallery/media/'
MEDIA_URL = '/media/'

urls.py中:
from xxx import settings
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),

知识点&技巧

1.编写多个urls

在不同的app目录下,编写多个urls.py,并在project的urls进行包含。这样就可以将app重用,只修改project的urls文件,就可以将app挂载在不同都地址下面。
请参考上文都url配置。

2.templates模板文件夹

在app目录下创建templates目录(必须为这个名字),存放模板文件,django会自动搜索这个目录。
比如:
views.py:
loader.get_template('blogs.html') #django会自动搜索templates下是否有blogs.html文件
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值