admin.site.register(Blog, BlogAdmin)上面方法是将管理器和注册语句分开。有时容易忘记写注册语句,或者模型很多,不容易对应。还有一种方式是用装饰器,该方法是Django1.7的版本新增的功能:1 2 3 4 5 6 7 from django.contrib import admin from blog.models import Blog #Blog模型的管理器 @admin.register(Blog...
Django有一个默认中间件,叫做AuthenticationMiddleware,每次请求进来都会去session中去一个userid,取不到的话,赋值request.user = AnonymousUser() , 一个匿名用户对象。 当用户组件auth.login一旦执行,将userid到session中后,再有请求进入Django,将注册的userid对应的user对象赋值给request.user,即再后面的任何视图函数...
2.这样设置之后还不会出现admin那样的消息提醒,接下来我们要去xadmin/plugins/actions.py源码找到ActionPlugin类作出如下的添加即可: msg = _("修改成功 " "啦啦啦!!!") av.message_user(msg) 如图: image 3.保存代码执行后结果如图: image 4.当然我们接下来修改下消息提醒的颜色: 只需要在av.message_user(...
如果你想覆盖这个行为,你可以覆盖 ModelAdmin.delete_queryset() 或者写一个自定义的动作,以你喜欢的方式进行删除 -- 例如,通过为每个选定的项目调用 Model.delete()。 关于批量删除的更多背景,请参见 对象删除 的文档。请继续阅读,了解如何将自己的动作添加到此列表中。编写...
这其中,如果你能够预知在自定义的操作中可能产生的错误,请处理该错误,并通过django.contrib.admin.ModelAdmin.message_user()以友好的方式给予用户提示信息。 三、将action定义为ModelAdmin的方法 上面的make_published看起来已经不错了,但是我们一般会将它作为ModelAdmin的方法来使用。下面我们把它移到ArticleAdmin类中...
from django.contrib import admin from django.contrib import messages from .models import YourModel class YourModelAdmin(admin.ModelAdmin): def save_model(self, request, obj, form, change): # 自定义逻辑,例如数据验证 if some_condition: self.message_user(request, "这是一个警告消息", level=messa...
2 标记extra_apps文件夹:右键文件夹/标记目录为/Sources Root。setting.py中APPS加入'xadmin'。 3 想后台添加什么数据管理,就在该APP下添加一个adminx.py文件,并在该文件中初始化数据 如:import xadminfrom .models import UserFav, UserLeavingMessage, UserAddressclass UserFavAdmin(object): ...
Defining actions as methods gives the action more straightforward, idiomatic access to the ModelAdmin itself, allowing the action to call any of the methods provided by the admin. For example, we can use self to flash a message to the user informing her that the action was successful: class...
并且要将django.contrib.admin加入到INSTALLED_APPS列表。 创建超级用户 python manage.py createsuperuser 要修改管理员的路由,安全起见,不能用默认的admin/路径。 修改超级用户密码 python manage.py shell from django.contrib.auth.models import User user = User.objects.get(username=’<用户名>’) ...
django-admin startproject notification_system cd notification_system python manage.py startapp notifications 3. 定义模型 在notifications/models.py文件中定义一个模型来存储通知信息: from django.db import models from django.contrib.auth.models import User ...