class AnchorBindAgentAdmin(admin.ModelAdmin): def get_actions(self, request): # 列表禁用删除操作...delete_selected'] return actions def has_delete_permission(self, request, obj=None): # 编辑页面禁用删除按钮
Admin中显示选择框的内容,用不变动的数据放在内存中从而避免跨表操作 如:gf = models.IntegerField(choices=[(0, '...Django Admin中的错误信息会优先根据Admiin内部的ModelForm错误信息提示,如果都成功,才来检查Model的字段并显示指定错误信息 b....2.Admin中修改错误提示 # admin.py from django.contrib import admin from model_club import...或者其它出现在奇怪位置的字符:这一般来说就是存在编码问题了。 但是Unicode对象并没有编码。它们使用Unicode,一个一致的,通用的字符编码集。...在上面的例子中,这个值是2。 删除对象 删除数据时要谨慎! 为了预防误删除掉某一个表内的所有数据,Django要求在删除表内所有数据时显示使用all()。
在这些例子中,Django管理后台可以让你实现和注册“操作” —— 仅仅只是一个以已选中对象集合为参数的回调函数。 在Django自带的管理页面中都能看到这样的例子。...Django在所有的模型中自带了一个“删除所选对象”操作。...但是,我们要进行一个可选但是有用的步骤,在后台给操作起一个“非常棒”的标题。通常,操作以“Make published”的方式出现在操作列表中 – 所有空格被下划线替换后的函数名称。...如果你想编写自己的操作,你现在应该知道怎么开始了。这篇文档的剩余部分会介绍更多高级技巧。 在操作中处理错误 如果你预见到,运行你的操作时可能出现一些错误,你应该以优雅的方式向用户通知这些错误。...也就是说,异常处理和使用django.contrib.admin.ModelAdmin.message_user()可以在响应中展示用户友好的问题描述。
中定义模型admin的管理类,继承于admin.ModelAdmin 2)admin.site.register(模型类,admin管理类) 3)在Admin管理类中通过对应的类属性控制admin界面内容...注意:在迁移生成表的时候,我们有可能碰到一个错误: django.db.utils.InternalError: (1050, "Table 'tb_books' already exists") 这个错误发生...,是因为我们删除过数据库里面的表格,我们需要执行以下下面的操作: # 先进入我们的数据库,然后选择这个表 select * from django_migrations; # 将我们的迁移过的文件加到这张表里...,我们在迁移文件生成表的时候就不会出现这个错误了。...团队开发注意事项 浅谈密码加密 Django框架中的英文单词 Django中数据库的相关操作
Django 通过检测应用中 migrations\ 目录下的文件,得知我们对数据库做了哪些操作,然后它把这些操作翻译成数据库操作语言,从而把这些操作作用于真正的数据库。...用 Django 的方式操作数据库 数据库最主要的操作就是往里面存入数据、从中取出数据、修改已保存的数据和删除不再需要的数据。...我们不用学习如何利用数据库语言去完成这些操作,只要简单地调用几个 Python 函数就可以满足我们的需求。 存数据 先在命令行中来探索一下这些函数,感受一下如何用 Django 的方式来操作数据库。...注意一点的是密码输入过程中不会有任何字符显示,不要误以为你的键盘出问题了,正常输入即可。最后出现 Superuser created successfully. 说明用户创建成功了。...,保存在变量 p 中,然后调用它的delete 方法,最后看到 Post.objects.all() 返回了一个空的 QuerySet(类似于一个列表),表明数据库中已经没有 Post,Post 已经被删除了
站点分为“内容发布”和“公共访问”两部分 “内容发布”的部分负责添加、修改、删除内容,开发这些重复的功能是一件单调乏味、缺乏创造力的工作。...from django.contrib import admin from models import BookInfo admin.site.register(BookInfo) 刷新管理页面,可以对...BookInfo的数据进行增删改查操作 问题:如果在str方法中返回中文,在修改和添加时会报ascii的错误 解决:在str()方法中,将字符串末尾添加“.encode('utf-8')” 自定义管理页面...Django提供了admin.ModelAdmin类 通过定义ModelAdmin的子类,来定义模型在Admin界面的显示方式 class QuestionAdmin(admin.ModelAdmin...,搜索框会出现在上侧 search_fields = ['btitle'] list_per_page:分页,分页框会出现在下侧 list_per_page = 10 添加、修改页属性 fields:属性的先后顺序
但是,秉着向新技术看齐的态度,我还是花了些时间(大概半天)把博客依赖的 Django 升级到当前最新版的 Django 2.2.6 版本了,在升级的过程中也遇到了很多问题,这些问题也是之前考虑到的,所以基本都迎刃而解了...由于修改了依赖,所以第一步应该卸载当前虚拟机环境中的 PyMySQL 库同时安装 mysqlclient 1.4.4,这个地方可能会出现问题,解决方式如下: 如果是 Windows 系统,直接使用 pip...因为在 Django 1.x 的版本中,这个参数是有默认值的,但是 Django 2.x 没有指定,所以需要显示设定一个值。...,什么也不做 on_delete=models.PROTECT, # 删除关联数据,引发错误ProtectedError on_delete=models.SET_NULL, # 删除关联数据...migrate 报错 由于 django 2.2+ 的 auth 应用中的数据库迁移文件比 1.11+ 的版本多了几个,所以按理需要把这几个迁移文件添加到数据库中,但是由于我添加了 oauth 应用,这个应用必须依赖
有时候在我们使用Django设计了models中的数据库结构,并且已经同步了数据库之后,我们突然想在数据表中更新或者增加新的字段,也就是需要修改数据库的结构,会出现以下的问题: C:\Users\Administrator...,进行python manage.py makemigrations同步数据库时会出现上面报错,会导致数据库结构更新失败 解决方法如下: 第一种方式:先删除再重构 1、删除数据库对应的数据表 注意:在这里可以不用暴力删除数据表...,可以利用django的migrations进行,操作如下: 1.1、首先将自己需要重构的数据表类的models注释掉,然后输入命令python manage.py makemigrations,这个时候...migration会自动记录删除数据表的操作 ?...format(self.id,self.name,self.addr) 由于我们的数据库的Publisher表本身已经有数据了,所以我们在进行python manage.py makemigrations会出现以下错误
django中内嵌了ORM框架,不需要直接面向数据库编程,而是定义模型类,通过模型类和对象完成数据表的增删改查操作。...如果启动时出这样的错误,修改端口。 输入前面创建的用户名、密码完成登录。 登录成功后界面如下,但是并没有图书、英雄的管理入口,接下来进行第三步操作。 ?...3.注册模型类 登录后台管理后,默认没有我们创建的应用中定义的模型类,需要在自己应用中的admin.py文件中注册,才可以在后台管理中看到,并进行增删改查操作。...在修改页点击“删除”可以删除一项。 删除:在列表页勾选想要删除的复选框,可以删除多项。 ? 点击执行后进入确认页面,删除后回来列表页面。...在Django中,将前端的内容定义在模板中,然后再把模板交给视图调用,各种漂亮、炫酷的效果就出现了。
admin内置了一个批量删除对象的操作,如下图所示: ?...但在多数情况下,你要自己遍历queryset的每个元素,并编写具体的操作。...处理错误: 这其中,如果你能够预知在自定义的操作中可能产生的错误,请处理该错误,并通过django.contrib.admin.ModelAdmin.message_user()以友好的方式给予用户提示信息...但有时候,一些复杂的action需要返回中间页面,例如内置的删除方法,在执行删除动作之前,会弹出一个删除确认页面。...例如: # 全站禁用删除功能 admin.site.disable_action('delete_selected') # 这个老老实实的被禁了 class SomeModelAdmin(admin.ModelAdmin
按照之前的方式来进行开发就会出现程序员会在自己的业务逻辑代码中夹杂很多SQL语句用来增加、读取、修改、删除相关数据,而这些代码通常都是重复的。 3....Django Admin中的错误信息会优先根据Admiin内部的ModelForm错误信息提示,如果都成功,才来检查Model的字段并显示指定错误信息 b....2.Admin中修改错误提示 # admin.py from django.contrib import admin from model_club import...Admin中显示选择框的内容,用不变动的数据放在内存中从而避免跨表操作 如:gf = models.IntegerField(choices=[(0, '...- models.CASCADE,删除关联数据,与之关联也删除 - models.DO_NOTHING,删除关联数据,引发错误
F:\pythonProject\mysite> 奇怪就在于我启动其他电脑创建的项目完全是没问题的,就是本机新建的项目会报错。而且是一句代码都没写。...导致错误是Django默认创建的urls.py存在问题 ?...from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r...'^admin/', include(admin.site.urls)), ] 解决问题 最后调试了下,发现Django 创建项目后的 urls.py 文件有问题,启动就直接报错。...from django.contrib import admin from django.urls import include, path # 增加导入include方法 urlpatterns =
数据库中字段【年】部分是否可以建立唯一索引 verbose_name Admin中显示的字段名称 blank Admin中是否允许用户输入为空...Admin中显示选择框的内容,用不变动的数据放在内存中从而避免跨表操作 如:gf = models.IntegerField(choices=[(0, '...Django Admin中的错误信息会优先根据Admiin内部的ModelForm错误信息提示,如果都成功,才来检查Model的字段并显示指定错误信息 b....2.Admin中修改错误提示 # admin.py from django.contrib import admin from model_club import...- models.CASCADE,删除关联数据,与之关联也删除 - models.DO_NOTHING,删除关联数据,引发错误
错误详细日志 F:\pythonProject\mysite>python3 manage.py runserver Performing system checks......F:\pythonProject\mysite> 奇怪就在于我启动其他电脑创建的项目完全是没问题的,就是本机新建的项目会报错。而且是一句代码都没写。...导致错误是Django默认创建的urls.py存在问题 from django.conf.urls import include, url from django.contrib import admin...urlpatterns = [ url(r'^admin/', include(admin.site.urls)), ] 解决问题 最后调试了下,发现Django 创建项目后的 urls.py...from django.contrib import admin from django.urls import include, path # 增加导入include方法 urlpatterns =
的模型中,可以创建数据库中的表,但是不可以创建数据库的,如果填写的数据库不存在,启动开发者的服务后,就会提示错误。...在上面中说到,通过django的类型,可以实现对数据库的操作,事实上,对数据库的操作,并不是在创建表上面,更多的是插入数据,删除数据,更新数据,以及查询数据,下面就来实现这些部分。...在数据库表的操作部分代码,会全部写在app应用下的views.py模块中,来 依次实现对数的插入,更新,查询,以及删除。...') 下来实现对插入的数据进行删除的操作,在Django中,删除数据库的源码为: #!...') 在本节中,从开始就说Django模型有 多么强大,通过几行代码就是实现了数据的增加,删除,修改以及查询,但是在实际的数据库中,是通过查询sql语句来获取的,在Django中也是,我们可以把获取的对象给
今天,接着上一篇django开发个人简易Blog——构建项目结构,以本系统为例,说一下django中数据模型的设计及操作。 本系统采用mysql作为数据库存储。...import connection cursor = connection.cursor() 如果没有出现错误,则说明数据库配置正常,否则,会提示具体的错误信息。...如果一切顺利,说明数据模型已经同步至数据库中,我们打开urls.py文件,查看其中是否有url(r'^admin/', include(admin.site.urls)),路由设置,并且保证未被注释。...打开浏览器,在浏览器中访问http://127.0.0.1:1989/admin ,出现如下登录界面: ? 输入刚刚创建的超级用户的用户名和密码,点击login按钮,即来到如下的管理界面: ?...同步成功后,打开sql会发现里面已经出现了上面的模型所对应的表结构。 如果未同步过去,并且没有出现错误,可能是因为blogapp下存在migrations文件夹,删除后,再次执行命令即可。
创建超级用户 注意:如果上述过程中,出现错误的话,一般情况下是数据库中的数据不同步造成的,我们在测试的过程中,可以删除数据库重新创建,然后重新执行上述命令的方式解决问题的哦 # 进入数据库管理工具中...,执行如下命令删除数据库并重新创建 drop database pydb; create database pydb; # 在命令行中,重新执行项目初始化命令,后续操作和登录就木有问题啦 python3...不过,幸运的是,Django提供的语言支持中,包含了我们天朝上国的简体中文 修改mysite/mysite/settings.py配置文件如下: # LANGUAGE_CODE="en-us" LANGUAGE_CODE...admin.py文件,将我们的应用注册给后台进行管理 修改mysite/polls/admin.py如下: from django.contrib import admin # Register your...我们创建好了项目,项目中的模块可以任意添加和移除,并且Django提供的非常人性化的后台管理可以对系统中的用户、模块、模型对象都有一个非常不错的操控界面呢! ----
今天看django的时候,突然发现model里有个ImageField,原以为django的model只是一个ORM的框架,没想到连上传图片到服务器都可以搞定,于是结合例子尝试了一下。...之后一番syncdb,打开admin页面,看到刚才建立的model,添加一条数据,上传图片,成功了,django真是强大!...然后再修改刚才添加的那条记录的修改界面,可以看到刚才上传的图片的超接: 点开图片的超链接,却显示404 not found,这可奇怪了,在服务器上明明已经有这个文件,并且数据库都添加正确了,怎么读不回来呢...这里发现有个奇怪的地方,打开的图片url为:http://10.40.3.164:8090/admin/gallery/item/1/photos/github-logo.png/ 超链接里面的href...但是此时还是显示错误,但是问题已经很明显了,和设置静态文件一样,需要在项目的urls.py中加点东西: urlpatterns += static(settings.MEDIA_URL, document_root
import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin...import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin...import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin...如此一来,我们是不是可以把获取Cookie这波操作写成一个装饰器?...删除当前会话的所有Session数据(只删数据库) request.session.delete() # 删除当前的会话数据并删除会话的Cookie(数据库和cookie都删)。
import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin...,由HTTP动词表示,请求方式时动词,我们后端基于请求方式来分发对应的视图函数来进行逻辑处理和数据处理、提取、加工等操作,但是URL中不能出现动词。 ...1xx:相关信息 2xx:操作成功 3xx:重定向 4xx:客户端错误 5xx:服务器错误 这五大类总共包含100多种状态码,覆盖了绝大部分可能遇到的情况。...410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。...import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin
领取专属 10元无门槛券
手把手带您无忧上云