在此之前我们完成了 Django 博客首页视图的编写,我们希望首页展示发布的博客文章列表,但是它却抱怨:暂时还没有发布的文章!如它所言,我们确实还没有发布任何文章,本节我们将使用 Django 自带的 Admin 后台来发布我们的博客文章。
创建 Admin 后台管理员账户
要想进入Django Admin 后台,首先需要创建一个超级管理员账户。我们在 让 Django 完成翻译:迁移数据库 中已经创建了一个后台账户,但如果你没有按照前面的步骤创建账户的话,可以运行 python manage.py createsuperuser
命令新建一个:
python manage.py createsuperuser
Username (leave blank to use 'zmrenwu@163.com'): admin
Email address: admin@example.com
Warning: Password input may be echoed.
Password: ******
Warning: Password input may be echoed.
Password (again): ******
Superuser created successfully.
注意:在命令行输入密码时可能不会显示输入的字符,不要以为键盘坏了,照正常的方式输入密码即可。
在 Admin 后台注册模型
要在后台注册我们自己创建的几个模型,这样 Django Admin 才能知道它们的存在,注册非常简单,只需要在 blog\admin.py 中加入下面的代码:
blog/admin.py
from django.contrib import admin
from .models import Post, Category, Tag
admin.site.register(Post)
admin.site.register(Category)
admin.site.register(Tag)
激活虚拟环境,运行开发服务器,访问 http://127.0.0.1:8000/admin/ ,就进入了到了Django Admin 后台登录页面,输入刚才创建的管理员账户密码就可以登录到后台了。
可以看到我们刚才注册的三个模型了,点击 Posts 后面的增加按钮,将进入添加 Post 的页面,也就是新增博客文章。然后在相关的地方输入一些测试用的内容,增加完后点击保存,这样文章就添加完毕了,你也可以多添加几篇看看效果。注意每篇文章必须有一个分类,在添加文章时你可以选择已有分类。如果数据库中还没有分类,在选择分类时点击 Category 后面的 + 按钮新增一个分类即可。
你可能想往文章内容中添加图片,但目前来说还做不到。在支持 Markdown 语法部分中将介绍如何在文章中插入图片的方法。
访问 http://127.0.0.1:8000/ 首页,你就可以看到你添加的文章列表了,下面是我所在环境的效果图:
定制 Admin 后台
在 admin post 列表页面,我们只看到了文章的标题,但是我们希望它显示更加详细的信息,这需要我们来定制 Admin 了,在 admin.py 添加如下代码:
blog/admin.py
from django.contrib import admin
from .models import Post, Category, Tag
class PostAdmin(admin.ModelAdmin):
list_display = ['title', 'created_time', 'modified_time', 'category', 'author']
# 把新增的 PostAdmin 也注册进来
admin.site.register(Post, PostAdmin)
admin.site.register(Category)
admin.site.register(Tag)
由于如何定制 Admin 后台不是本教程的重点,这里只是为了简单地到达期望效果,因此不再对上述代码做过多解释。
刷新 Admin Post 列表页面,可以看到显示的效果好多了。
总结
本章节的代码位于:Step7: publish posts using django admin。
如果遇到问题,请通过下面的方式寻求帮助。
- 在下方评论区留言。
- 将问题的详细描述通过邮件发送到 djangostudyteam@163.com,一般会在 24 小时内回复。
- 在 Pythonzhcn 社区的新手问答版块 发布帖子。
-- EOF --
分类只有添加按钮,怎么将删除按钮也加上呢?
删除可在分类列表页面,顶部有一个删除操作,选择要删除的分类,然后选择删除操作即可。
心态崩了,博主或哪位大神可以告诉我一下这是什么情况,,,点击文章进不去
万分感谢(*^__^*) ……
对不起,我操之过急,,,后面有讲
还是不太明白
大神,在后台发布文章后,主页还是显示原有内容,看了index.html的标签,展示的确实还是原有的4个文章,是需要对index文件中的标签进行修改吗?看您好像没有对该文件做修改,还是我错过了什么……
还有感谢您的分享!
果然是我错过了。。哈哈
【python2】
由于python2的默认编码不是UTF-8
所以需要在models中加入以下4行代码 否则不能输入中文 会引发UnicodeEncodeError
import sys
from imp import reload
reload(sys)
sys.setdefaultencoding('utf-8')
Tags:
Tag object (1)
Tag object (2)
Tag object (3)
Tag object (4)
Tag object (5)
发布文章的时候,选择tags,这里面显示的都是这样的。。。,这个该怎么处理呀
大神, 我的主页一直显示没有文章, 但是我是确定有发布文章的。而且显示没有找到那个CSS 的文件。麻烦请教一下,我要怎么去检查。我对了一遍的,没有发现哪里有出入的。感谢。
晕 我不能发布问题 一发布就是空白页面
[van@oc6344180105 blogproject]$ python manage.py runserver Performing system checks... System check identified no issues (0 silenced).July 12, 2018 - 20:50:33 Django version 1.11.14, using settings 'blogproject.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.[12/Jul/2018 20:50:44] "GET / HTTP/1.1" 200 8444 Not Found: /css/bootstrap.min.css [12/Jul/2018 20:50:44] "GET /css/bootstrap.min.css HTTP/1.1" 404 2160[12/Jul/2018 20:50:44] "GET /static/blog/css/bootstrap.min.css HTTP/1.1" 304 0 [12/Jul/2018 20:50:44] "GET /static/blog/css/pace.css HTTP/1.1" 304 0 [12/Jul/2018 20:50:44] "GET /static/blog/css/custom.css HTTP/1.1" 304 0 [12/Jul/2018 20:50:44] "GET /static/blog/js/jquery-2.1.3.min.js HTTP/1.1" 304 0[12/Jul/2018 20:50:44] "GET /static/blog/js/bootstrap.min.js HTTP/1.1" 304 0 [12/Jul/2018 20:50:44] "GET /static/blog/js/pace.min.js HTTP/1.1" 304 0[12/Jul/2018 20:50:44] "GET /static/blog/js/modernizr.custom.js HTTP/1.1" 304 0 [12/Jul/2018 20:50:44] "GET /static/blog/js/script.js HTTP/1.1" 304 0 Not Found: /favicon.ico [12/Jul/2018 20:50:58] "GET /favicon.ico HTTP/1.1" 404 2130 Not Found: /favicon.ico [12/Jul/2018 20:50:58] "GET /favicon.ico HTTP/1.1" 404 2130
4{% load staticfiles %} <!DOCTYPE html><html><head> <title> The first Blog in 2018 </title> <!-- meta --> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- css --> <link rel="stylesheet" href="css/bootstrap.min.css"> <link rel="stylesheet" href="http://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css"> <link rel="stylesheet" href="{% static 'blog/css/bootstrap.min.css' %}"> <link rel="stylesheet" href="{% static 'blog/css/pace.css' %}"> <link rel="stylesheet" href="{% static 'blog/css/custom.css' %}"> <!-- js --> <script src="{% static 'blog/js/jquery-2.1.3.min.js' %}"></script> <script src="{% static 'blog/js/bootstrap.min.js' %}"></script> <script src="{% static 'blog/js/pace.min.js' %}"></script> <script src="{% static 'blog/js/modernizr.custom.js' %}">
抱歉 不知道为什么发不了, 发的好乱
可能是你视图中的模板变量和模板中的变量名不统一,仔细对比一下。
感谢大神!
博主,遇到了这个问题,望博主不吝赐教(*^__^*) 万分感谢伟大的博主O(∩_∩)O
Page not found (404)
Request Method:GETRequest URL:http://127.0.0.1:8000/single.html
Using the URLconf defined in blogproject.urls, Django tried these URL patterns, in this order:
^admin/
[name='index']
The current path, single.html, didn't match any of these.
You're seeing this error because you have DEBUG = True in your Django settings file.
Change that to False, and Django will display a standard 404 page.
对不起,,,,我操之过急了,,,后面有讲。。。。。
1231
博主你好,我在admin后台写的文章分类和标签都是汉字,保存了以后,显示category object ,tag object,是怎么回事
在Category类和Tag类中定义__str__方法,返回name,例如:
class Category(models.Model):
name = models.CharField(max_length=100)
def __str__(self): return self.name
你好博主,新人有个问题帮忙解答下,前面没有错误,但在后台注册模型那里,我在admin.py里加入了如上代码,但正常进入admin页面后看不到那些模型,这个怎么解释0.0
并且本来显示的用户和组里,点击添加,一直在加载中,并不能添加
博主能不能补下前台发布文章的教程呢?
MODELS:
class Post(models.Model):
title = models.CharField(max_length=70, verbose_name='题目')
body = models.TextField(verbose_name='正文')
created_time = models.DateTimeField(auto_now_add=True)
modified_time = models.DateTimeField(auto_now_add=True)
excerpt = models.CharField(max_length=200, blank=True)
category = models.ForeignKey(Category, on_delete=models.CASCADE, verbose_name='分类')
tags = models.ManyToManyField(Tag, blank=True, verbose_name='标签')
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
views = models.PositiveIntegerField(default=0)
...
VIEWS:
def ask(request):
if request.method == 'POST':
form = AskForm(request.POST, instance=request.user)
if form.is_valid():
form.save()
return redirect('/in')
...
FORMS:
class AskForm(forms.ModelForm):
class Meta: model = Post
fields = ['title', 'category', 'tags', 'body']
我写的前台view,获取当前登陆用户,然后保存文章到数据库
但是现在提交不报错,也跳转了,但是就是存不到数据库里。。
可以在调试环境下看看 form.save() 是否的确执行了。
我测试改了一下:
VIEWS:
if request.method == 'POST':
form = AskForm(request.POST)
if form.is_valid():
form.save()
return redirect('/in')
去掉了request.user
然后
FORMS:
class AskForm(forms.ModelForm):
class Meta: model = Post
fields = ['title', 'author', 'category', 'tags', 'body']
加上了author
页面渲染出了所有用户的下拉列表。。但是这样提交之后,就能插入数据库了。。
我怎么能只能选当前用户,或者不显示,默认就是当前用户呢。。
愁人。。。。
哦,如果你用 model form,需要复写表单的 save 方法,手动将 user 保存,需要一定的技巧,最好是读一读表单的源码。
初学者的福利
博主你好,我觉得在设计数据库的时候,创建时间和修改时间可以用DateTimeField里的参数,比如:
created_time = models.DateTimeField(auto_now_add=True)
modified_time = models.DateTimeField(auto_now=True)
这样效果是不是会更好呢
注意这两个字段已经 deprecated,用 default 参数指定一个函数更好。
https://github.com/django-admin-bootstrapped/django-admin-bootstrapped
https://github.com/darklow/django-suit
https://github.com/sehmaschine/django-grappelli
可以使用上面三个库中的其中一个美化django-admin。
不会用这个库 没有查到方法 方便教我一下吗
python2.x post提交报这个错误,有同学遇到吗? tag, category没有问题。
感觉自己踩到一个坑。
博主,问一下,比如我先建立好了Models模型类,同时也迁移插入好了数据,然后我想加几个字段,比如点击量,阅读量,评论数,还有是否删除等等这些,一直没有找到合适的方法,我就直接修改的数据库,sql语句手动添加的字段,请问django怎么新添加字段。
在定义的 Model 类添加属性,然后运行那两条数据库迁移命令就可以了。
主页上显示的是标题、分类、时间、摘要等一些文章基本信息,不显示body的内容,body要‘继续阅读’后才能看到
找到原因了,在上个章节第一步修改blog/views.py,这一步忘记做了,修改后就正常了
按步骤输入了几个测试数据进post,刷新index时总显示“暂时还没有发布的文章!”,不知道哪个步骤错了?
找到原因了,PostAdmin没有注册
我都设置了,但是没有显示,不知道错哪了
博主,突然想起一个问题,就是我admin后台看到的Create time和Modified time 这两个字段的显示从哪来的?我记得编写models.py创建的字段是created_time和modified_time,那么后台显示是django默认显示的还是我哪一步操作得来的呢?谢谢啦
你在 admin 中定义了你要显示的字段:
list_display = ['title', 'created_time', 'modified_time', 'category', 'author'],这里面的字段是django系统默认就有的么?我好奇的是admin后台显示出来的跟我定义的字段名字大小写样式都不一样。
django 对字段名做了一些美化处理,具体可以查看 admin 的文档或者看 admin 的代码就知道了。
你说的media_root, 可以设置好路径保存图片, 之前做过一次展示图片, 在类里添加一个image的字段, 设置好上传的路径, 在设置项目的根目录下的urls, 把静态url添加上, 不然是找不到的,
settings.py
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\','/')
urls.py
from django.conf.urls.static import static
from django.conf import settings
最后加上, 就可以正常的拉起图片了.
urlpatterns += static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
OperationalError at /practice/
no such table: blog_category
Request Method: GET
Request URL: http://127.0.0.1:8000/practice/
Django Version: 1.10.6
Exception Type: OperationalError
Exception Value:
no such table: blog_category
Exception Location: C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\sqlite3\base.py in execute, line 337
Python Executable: C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python.exe
Python Version: 3.6.1
Python Path:
['E:\passispn\passispn\passispn\quiz',
'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python36.zip',
'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\DLLs',
'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib',
'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32',
'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages',
'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\python_memcached-1.54-py3.6.egg',
'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\odf',
'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\odf',
'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\odf',
'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\odf',
'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\odf',
'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\odf',
'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\odf']
makemigrations
以及
migrate
命令都执行了
为什么会出现这样的问题?谢谢
看网上的解决方案
删除 db.sqlite3之后
makemigrations 以及 migrate 就可以解决
但是我的db.sqlite3 里面有很多的数据 不能删除
所以 不知道怎么办了 谢谢
no such table: blog_category
不知道你是否在哪一步出了错,让 django 误以为你已经生成了数据库表,但实际上没有。如果数据重要的话,最好不要乱动,以免使数据丢失。另外对于存在数据的项目,迁移数据库前一定要备份!
谢谢博主
数据 我已经备份了
接下来 我应该怎么做呢?
我都不知道要从哪里着手解决这个问题,谢谢
删掉全部 migrations 文件和数据库,重新做一遍
博主,category 和tag 后台管理只显示category object ,和tag object123.。。需要怎么修改
见之前关于 str 方法的教程里的内容
OperationalError at /admin/blog/post/add/
no such table: blog_category
Request Method: GET
Request URL: http://127.0.0.1:8000/admin/blog/post/add/
Django Version: 1.11.4
Exception Type: OperationalError
Exception Value:
no such table: blog_category
Exception Location: C:\Users\xin\AppData\Roaming\Python\Python36\site-packages\django\db\backends\sqlite3\base.py in execute, line 328
Python Executable: C:\Program Files\Python36\python.exe
Python Version: 3.6.2
Python Path:
['F:\Sublime Text 3\Sublime Text 3\手动案例\总结\djangotest',
'C:\Program Files\Python36\python36.zip',
'C:\Program Files\Python36\DLLs',
'C:\Program Files\Python36\lib',
'C:\Program Files\Python36',
'C:\Users\xin\AppData\Roaming\Python\Python36\site-packages',
'C:\Program Files\Python36\lib\site-packages']
Server time: 星期日, 27 八月 2017 14:37:07 +0000
没有跟着教程走虚拟环境,在
解决了,数据库创建表后没有同步,报错缺少那个表
博主,我想问几个问题
1. 我发布的文章有保存到哪个文件吗?可以在哪个目录下找到
2. 文章里可以有插入图片操作吗,图片要上传到哪个目录
3. 我在网上看到的别的介绍里说可以配置media_root这一项来保存数据文件,这个怎么用
4. 网站可以有注册功能吗,怎么实现
list_display = ['title', 'created_time', 'modified_time', 'category', 'author'] 博主,这种在后台的展示可以设置别名么 例如 展示的时候显示 “标题”,“创建时间” 有什么方法么 我看 list_display的方法为 返回字段 ‘str’
这个还真没有研究过,可以查查 admin 的文档。
title = models.CharField(max_length=70, verbose_name='标题')
加个verbose_name属性就好了
你好,博主 这啥情况?
OperationalError at /admin/blog/post/add/
no such table: blog_post
Request Method: POST
Request URL: http://127.0.0.1:8000/admin/blog/post/add/
Django Version: 1.11.3
Exception Type: OperationalError
Exception Value:
no such table: blog_post
Exception Location: /home/leodowhat/.pyenv/versions/test/lib/python3.6/site -packages/django/db/backends/sqlite3/base.py in execute, line 328
运行 python manage.py makemigrations 和 migrate 么?具体见前边的几篇教程。
你好,请问博主,我post了,还是显示暂时未发布文章,检查了index.html,应该没问题呀。
已经解决,修改了views.py
可以请问一下你是如何修改的吗?我也遇到了类似的问题
楼主,还有个问题我用的是python2.7+Django1.11.3在后台管理中添加中文的时候报错,1.11.3是不能添加中文的吗?
可以的,这可能是 py2 的编码问题,按照错误提示修复一下编码应该就行了。
在models中为Post,Tag,Category上面添加:@python_2_unicode_compatible即可。
我自己用的是python2.7+Django 1.8 亲测。
楼主,为什么我的后台显示里面没有那三个注册的模块啊?
已经解决了,没有用admin.site.register()函数
希望有时间能详细写写定制后台的文章,感谢你的文章。
这在官方文档的 tutorial 中有详细示例,我就不重复了。
请教下,输出显示的文章 与原输入不匹配;主要是回车/换行差异太大。是不是存的时候data写入表,显示时读data,造成的?
html 会将任何回车,多个空格替换为 1 个空格。解决方案是使用 Markdown 或者手动加入 br 换行。
楼主,我在admin的post列表页,Category这一列下的值都为Category object而不是你图上所示的分类测试,请问是哪里出了问题
添加 str 方法,具体见这篇教程 http://zmrenwu.com/post/6
请教一下楼主哇" needs to have a value for field "id" before this many-to-many relationship can be used.
在后台添加Post的时候报错了 文章title是《第一篇文章》
"
是没有自动生成pk吗?
需要相关代码才能确定问题,从描述来看可能是保存了多对多的数据。
请问每个app对应一个admin还是一个admin可以管理所有app
每个 app 下都有一个 admin 文件,admin 相关的代码需要放在这里面。
在添加完Post后,输入 http://127.0.0.1:8000/ 打开不是文章列表,还是显示
“欢迎访问我的博客首页” ,是不是还需要修改某个地方??
修改 index 模板。
嗯
请教一下博主,其他都正常,就是create time和modified time不显示内容,主页上文章的创建时间也不显示,也并没有报错,这是为什么呢?
看下 model 代码
models里面是:create_time=models.DateTimeField()
modified_time=models.DateTimeField()
index.html里是:
可能是你在后台没有设置值?不过这样后台应该不允许你保存文章的。
models里面是:create_time=models.DateTimeField()
modified_time=models.DateTimeField()
index.html里是: class="entry-date" datetime="{{ post.create_time }}">{{ post.create_time }}
views里是:post_list=Post.objects.all().order_by('-create_time')
admin里是:list_display=['title', 'create_time', 'modified_time', 'category', 'author']
相关的应该就是这几条吧
多点了一下。。。
和 admin 设置无关,你在后台的文章表单没有设置时间选项么?
是指在创建和修改post的时候么,有时间选项,填的时候也有内容,但回到post界面和主页时候时间就不显示了
那就不知道了,可能是数据库问题?Mysql?
一样的问题,请问你解决了吗
请问这个问题怎么解决呀?头皮发麻。。。。.wrapper at 0x000001FC9F8881E0>
Unhandled exception in thread started by
Traceback (most recent call last):
File "D:\new_start\blogproject_env\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper
fn(args, *kwargs)
File "D:\new_start\blogproject_env\lib\site-packages\django\core\management\commands\runserver.py", line 121, in inner_run
self.check(display_num_errors=True)
File "D:\new_start\blogproject_env\lib\site-packages\django\core\management\base.py", line 420, in check
raise SystemCheckError(msg)
django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:
ERRORS:
: (admin.E108) The value of 'list_display[3]' refers to 'category', which is not a callable, an attribute of 'PostAdmin', or an attribute or method on 'blog.Post'.
System check identified 1 issue (0 silenced).
解决了,谢谢博主的文章。:D
怎么解决的??
你试试检查一下你的,list里的拼写
post在管理界面添加后,显示没有name字段
AttributeError at /admin/blog/post/add/
'Post' object has no attribute 'name'
Request Method: POST
Request URL: http://192.168.1.217:8000/admin/blog/post/add/
Django Version: 1.10.5
Exception Type: AttributeError
Exception Value:
'Post' object has no attribute 'name'
Exception Location: /mnt/siteone/blog/models.py in str, line 35
Python Executable: /root/.pyenv/versions/magedu/bin/python
Python Version: 3.5.2
Python Path:
['/mnt/siteone',
'/root/.pyenv/versions/3.5.2/lib/python35.zip',
'/root/.pyenv/versions/3.5.2/lib/python3.5',
'/root/.pyenv/versions/3.5.2/lib/python3.5/plat-linux',
'/root/.pyenv/versions/3.5.2/lib/python3.5/lib-dynload',
'/root/.pyenv/versions/magedu/lib/python3.5/site-packages']
Server time: 星期三, 14 六月 2017 13:57:34 +0800
去掉 str 方法中的 name
谢谢,我直接返回title了
请问访问http://127.0.0.1:8000/admin/ 会出现如下错误
A server error occurred. Please contact the administrator.是怎么回事?
关了代理软件等。
谢谢!已解决,是时区写错了,不能正确识别
访问 http://127.0.0.1:8000/admin/ 会出现如下错误。。。。求解 谢谢T__T
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/admin/
Using the URLconf defined in blogproject.urls, Django tried these URL patterns, in this order:
^$ [name='index']
The current URL, admin/, didn't match any of these.
You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.
已解决。。。。我之前把 在blogproject/urls.py里的这行给注释掉了
url(r'^admin/', admin.site.urls)。 改回来就好了。。。
访问 http://127.0.0.1:8000/ 首页
环境:python3.4,django1.10
报错如下:
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/index.html
Using the URLconf defined in blogproject.urls, Django tried these URL patterns, in this order:
The current URL, index.html, didn't match any of these.
找到解决的方法了么?
不要输入index.html
好的谢谢。
我是urls.py里面一行代码注释了。
你好,我也遇到这个问题,请问不要输入index.html是什么意思?
就是不要去掉域名后 .html
不好意思 我也是卡在这里, 还是没有看明白您的解释T__T
已解决 谢谢
博主,在美化 admin 后台的时候,注册了PostAdmin之后,刷新网页没效果可能是什么原因呢?python3.4,django1.10
重启一下开发服务器试试?需要看一下你的注册代码是否有误?
我也遇到这个问题了,请问你解决了吗
我是用py2.7的,直接写中文保存会报'ascii' codec can't encode characters in position 0-1: ordinal not in range(128),在admin.py加上
import sys
reload(sys)
sys.setdefaultencoding("utf8")
才OK,估计py3没这个问题出现
python貌似在用中文的时候应该要在第一行写上#coding:utf-8