Django用法(一)
Django的用法:
在setting.py中采用如下的方式来配置数据库,因为我是本地调用,所以没有设置password和host。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 'NAME': 'book', # Or path to database file if using sqlite3. 'USER': 'root', # Not used with sqlite3. 'PASSWORD': '', # Not used with sqlite3. 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. 'PORT': '3306', # Set to empty string for default. Not used with sqlite3. } }
设置完成后,在mySQL中新建一个名叫book的scheme。之后就可以在models.py中书写新的模型类,检查无误后(有的书上把模型的写法中加入maxlength,正确的写发是max_length)在shell下执行
#显示CREATE TABLE语句
python manage.py sqlall appname
#可以采用上面生成的SQL语句来新建TABLE,也可以用下面的方式
python manage.py syncdb
#此时会出现:
You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (Leave blank to use 'wangjz'): wtv888
E-mail address: wjz08.08@gmail.com
Password:
Password (again):
因为在INSTALLED_APPS中使用了django.contrib.auth,所以syncdb命令会要求提供一个管理员帐号和密码,用来登录Django的管理工具。
我们可以在终端下,进入Python环境,进行如下的调试
WangmatoMacBook-Pro:tsitepdf wangjz$ python manage.py shell
>>> from test1.models import Publisher
>>> p1=Publisher(name="WangJZ",address="It's a joke") >>> p1.save()
这里的第一行很重要,如果直接用python命令进入python环境,会出现DJANGO_SETTINGS_MODULE is undefined的错误
(二)站点管理
在urls.py中添加admin
from django.conf.urls.defaults import patterns, include, url from django.contrib import admin#**此处加入admin模块! urlpatterns = patterns('', # Uncomment the admin/doc line below to enable admin documentation: # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), # Uncomment the next line to enable the admin: url(r'^admin/', include(admin.site.urls)),#**此处去掉注释!! (r'^test1/', include('tsitepdf.test1.urls')), )
进入http://127.0.0.1:8000/admin/管理界面。想将英文显示中文化将settings.py中 LANGUAGE_CODE 由 'en-us' 改为 'zh-cn。此时登陆管理界面,会提示”你无权修改任何内容“。
在urls.py中,注视掉admin.autodiscover()即可