Django
文章平均质量分 55
HeatDeath
Learn by doing!
展开
-
基于 Django REST framework 3.6.2 文档的学习(1)—— 基本介绍
Django REST框架是构建Web API的强大而灵活的工具包。您可能希望使用REST框架的一些原因:Web浏览的API是您的开发人员的巨大的可用性胜利。验证策略包括OAuth1a和OAuth2的包。支持ORM和非ORM数据源的序列化。如果不需要功能更强大的功能,可以自定义一切 - 只需使用基于功能的常规视图。广泛的文档和极好的社区支持。由Mozilla,Red Hat,Heroku原创 2017-05-02 23:11:48 · 2872 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(34)—— Customizing authentication in Django 之 基础
Customizing authentication in Django在Django中自定义身份验证Django附带的身份验证对于大多数常见的情况来说都是足够好的,但您可能无法通过开箱即用的默认值来满足要求。要为您的项目需求定制身份验证,需要了解提供的系统的哪些点是可扩展的或可替换的。本文档提供了有关如何自定义验证系统的详细信息。认证后端提供可扩展的系统,用于当与用户模型存储的用户名和密码需要针对原创 2017-05-02 12:34:22 · 886 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(33)—— Using the Django authentication system 之login_required和LogiRequiredMixin
Using the Django authentication system使用Django认证系统本文档介绍了Django身份验证系统的默认配置。 这种配置已经演变为满足最常见的项目需求,处理相当广泛的任务,并且仔细地实现了密码和权限。 对于认证需求与默认值不同的项目,Django支持大量扩展和定制认证。Django认证一起提供认证和授权,通常被称为认证系统,因为这些功能有些耦合。The logi原创 2017-05-02 11:14:40 · 1391 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(32)—— Introduction to class-based views
Introduction to class-based views基于类的视图介绍基于类的视图提供了将视图实现为Python对象而不是函数的替代方法。 与基于功能的视图相比,它们不会替代基于功能的视图,但具有一定的差异和优势:与特定HTTP方法(GET,POST等)相关的代码的组织可以通过单独的方法而不是条件分支来解决。 可以使用面向对象的技术,如mixins(多重继承)来将代码重新定义为可重用的原创 2017-05-02 10:55:13 · 615 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(32)—— The Django admin site 之 基础
The Django admin site Django站点管理Django最强大的部分之一是自动管理界面。 它从模型中读取元数据,以提供一个快速的,以模型为中心的界面,信任的用户可以管理您网站上的内容。 管理员的建议使用仅限于组织的内部管理工具。 它不是为了建立你的整个前端。管理员有许多钩子用于定制,但要注意试图专门使用这些钩子。 如果您需要提供一个更加以进程为中心的接口来抽取数据库表和字段的实现原创 2017-05-02 10:21:57 · 672 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(31)—— settings 之 ALLOWED_HOSTS
ALLOWED_HOSTSDefault: [] (Empty list)表示此Django站点可以投放的主机/域名的字符串列表。这是防止HTTP主机头部攻击的安全措施,即使在许多看似安全的Web服务器配置下也是如此。此列表中的值可以是完全限定名称(例如“www.example.com”),在这种情况下,它们将完全匹配请求的主机标头(不区分大小写,不包括端口)。以期间开头的值可以用作子域通配符:'.原创 2017-05-01 23:32:06 · 16606 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(30)——Class-based views
Class-based views基于类的视图视图是可调用的,它接受请求并返回响应。 这不仅仅是一个功能,而Django提供了一些可以用作视图的类的例子。 这些允许您通过利用继承和混合来构建视图和重用代码。 还有一些简单的任务的一般观点,我们稍后会介绍,但是您可能需要设计自己的可重用视图结构,以适合您的用例。 有关完整的详细信息,请参阅基于类的视图参考文档。基于类视图的介绍内置基于类的通用视图原创 2017-05-01 22:53:14 · 601 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(29)——Built-in Views 之 static.serve()
Built-in Views内置视图Django的几个内置视图在文档视图以及文档中的其他地方都有记录。Serving files in development在开发中提供文件static.serve(request, path, document_root, show_indexes=False)除了项目的静态资产之外,可能还有其他文件,为方便起见,您希望Django为您提供本地开发服务。serve原创 2017-05-01 21:28:55 · 2631 阅读 · 1 评论 -
基于 Django1.10 文档的深入学习(28)—— Managing static files(e.g. images, JavaScript, CSS)
Managing static files (e.g. images, JavaScript, CSS)网站通常需要提供其他文件,如图像,JavaScript或CSS。 在Django中,我们将这些文件称为“静态文件”。 Django提供django.contrib.staticfiles来帮助您管理它们。本页介绍如何提供这些静态文件。Configuring static files配置静态文件确原创 2017-05-01 21:06:50 · 765 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(27)—— django.conf.urls utility functions 之 url(),include(),static()
django.conf.urls实用程序函数static()static.static(prefix, view=django.views.static.serve, **kwargs)帮助器功能返回在调试模式下提供文件的URL模式:from django.conf import settingsfrom django.conf.urls.static import staticurlpatter原创 2017-05-01 20:45:14 · 1214 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(26)—— Creating forms from models 之 基础
Creating forms from models从模型创建表单ModelFormclass ModelForm[source] 如果您正在构建一个数据库驱动的应用程序,那么可能会有一些形式与Django模型紧密相连。 例如,您可能有一个BlogComment model,并且您想创建一个可以让用户提交注释的表单。 在这种情况下,在forms.py中定义字段类型是多余的,因为您已经定义了模型中的原创 2017-05-01 16:24:10 · 582 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(25)—— Applications 之 基础部分
Applications应用Django包含一个安装的应用程序的注册表,存储配置并提供内省。 它还保留了可用模型的列表。这个注册表简单称为应用程序,它可以在django.apps中使用:>>> from django.apps import apps>>> apps.get_app_config('admin').verbose_name'Admin'Projects and applicati原创 2017-04-30 11:07:49 · 2118 阅读 · 0 评论 -
Django 报错 'AnonymousUser' object is not iterable 的解决办法
出现这种错误的原因应该是 , 未经过 is_authenticated 的用户使用了 需要经过验证的 用户 才能使用的 功能所导致的在报错的 View 函数中 的对应 逻辑前 加上 if not request.user.is_authenticated(): ...语句就好了‘AnonymousUser’ object is not iterable‘AnonymousUser’ obje原创 2017-04-28 16:22:42 · 10285 阅读 · 3 评论 -
基于 Django1.10 文档的深入学习(24)—— Form and field validation 之 cleaned_data
Form field default cleaning表单域默认清理我们首先创建一个自定义表单字段,验证其输入是一个包含逗号分隔的电子邮件地址的字符串。全班看起来像这样:from django import formsfrom django.core.validators import validate_emailclass MultiEmailField(forms.Field): de原创 2017-04-28 14:46:10 · 856 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(23)—— QuerySet API reference 之 icontains
icontainsCase-insensitive containment test.Example:Entry.objects.get(headline__icontains='Lennon')SQL equivalent:SELECT ... WHERE headline ILIKE '%Lennon%';原创 2017-04-27 19:04:52 · 607 阅读 · 0 评论 -
创建一个 Django App 的基本流程
1、startapp appname 2、将该 appname 注册到项目目录下的 settings.py 中的 INSTALLED_APPS 中 3、设计该 app 目录下的 models.py 4、迁移数据 makemigrations appname 5、生成数据表 migrate appname 6、将该 app 的 models 中的内容注册到该 app 目录下的 adminx.原创 2017-04-27 17:03:42 · 1988 阅读 · 1 评论 -
基于 Django1.10 文档的深入学习(22)——Sending email 之 send_mail()
Sending email发送电子邮件虽然Python通过smtplib模块发送电子邮件相对容易,但Django在其上提供了几个光封装。 提供这些包装器可以使发送电子邮件更加快速,以便在开发期间测试电子邮件发送,并为不能使用SMTP的平台提供支持。代码位于django.core.mail模块中。快速的例子两行:from django.core.mail import send_mailsend_ma原创 2017-04-27 16:02:44 · 1517 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(21)——The Forms API 之 Form.errors
Form.errors 访问errors属性以获取错误消息的字典:>>> f.errors>{'sender':['输入有效的电子邮件地址。'],'subject':['此字段为必填项.']。在这个字典中,键是字段名称,值是表示错误消息的Unicode字符串列表。 错误消息存储在列表中,因为字段可以有多个错误消息。您可以访问错误,而不必首先调用is_valid()。 您首次调用表单的数据时会调用原创 2017-04-27 13:03:10 · 464 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(20)—— Using the Django authentication system 之 login()
所有验证视图这是一个包含django.contrib.auth提供的所有视图的列表。 有关实现细节,请参阅使用视图。login( request, template_name=`registration/login.html`, redirect_field_name='next', current_app=None, extra原创 2017-04-27 12:56:18 · 1109 阅读 · 1 评论 -
基于 Django1.10 文档的深入学习(19)——Working with forms
Working with forms使用表格除非你打算建立只发布内容的网站和应用程序,而不接受访问者的意见,你将需要了解和使用表单。Django提供了一系列工具和库来帮助您构建表单以接受站点访问者的输入,然后处理和响应输入。HTML表单在HTML中,表单是<form> ... </ form>中的元素集合,允许访问者执行输入文本,选择选项,操纵对象或控件等操作,然后将该信息发回到服务器。这些形式的界原创 2017-04-27 10:52:06 · 915 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(18)—— Using the Django authentication system 之 LoginRequiredMixin
Using the Django authentication system使用Django认证系统本文档介绍了Django身份验证系统的默认配置。 这种配置已经演变为满足最常见的项目需求,处理相当广泛的任务,并且仔细地实现了密码和权限。 对于认证需求与默认值不同的项目,Django支持大量扩展和定制认证。Django认证一起提供认证和授权,通常被称为认证系统,因为这些功能有些耦合。LoginReq原创 2017-04-27 00:42:51 · 2429 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(17)——Customizing authentication 之 Custom users and permissions
Customizing authentication in Django在Django中自定义身份验证Django附带的身份验证对于大多数常见的情况来说都是足够好的,但您可能无法通过开箱即用的默认值来满足要求。 要为您的项目需求定制身份验证,需要了解提供的系统的哪些点是可扩展的或可替换的。 本文档提供了有关如何自定义验证系统的详细信息。认证后端提供可扩展的系统,用于当与用户模型存储的用户名和密码需要原创 2017-04-27 00:36:11 · 674 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(16)——Authentication backends 之 class ModelBackend
Authentication backends 验证后端本节详细介绍Django附带的身份验证后端。 有关如何使用它们以及如何编写自己的身份验证后端的信息,请参阅用户身份验证指南的其他身份验证源部分。可用的身份验证后端django.contrib.auth.backends中有以下后端:class ModelBackend: 这是 Django 使用的默认身份验证后端。 它使用由用户标识符和密码组原创 2017-04-27 00:26:57 · 944 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(15)——django.contrib.auth.hashers
手动管理用户密码django.contrib.auth.hashers模块提供了一组功能来创建和验证散列密码。您可以独立于用户模型使用它们。check_password(password, encoded)[source] 如果要通过将明文密码与数据库中的散列密码进行比较来手动验证用户,请使用方便函数check_password()。它需要两个参数:要检查的纯文本密码以及数据库中用户密码字段的完整原创 2017-04-27 00:12:36 · 1257 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(14)—— Request and response objects 之 HttpResponse objects
HttpResponse objectsclass HttpResponse[source]与由Django自动创建的HttpRequest对象相反,HttpResponse对象是您的责任。 您编写的每个视图都负责实例化,填充和返回HttpResponse。HttpResponse类住在django.http模块中。用法传递字符串典型的用法是将页面的内容作为字符串传递给HttpResponse构造函原创 2017-04-27 00:04:57 · 639 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(13)—— Making queries 之 Q objects
Complex lookups with Q objects使用Q对象进行复杂查找关键字参数查询 - 在filter()等中与“AND”一起编辑。 如果需要执行更复杂的查询(例如,使用OR语句的查询),则可以使用Q对象。Q对象(django.db.models.Q)是用于封装关键字参数集合的对象。 这些关键字参数在上面的“字段查找”中指定。例如,这个Q对象封装了一个LIKE查询:from djang原创 2017-04-26 23:57:03 · 710 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(13)—— django.core.urlresolvers 之 reverse()
reverse()如果您需要在代码中使用类似于url模板标签的内容,Django将提供以下功能:reverse(viewname,urlconf = None,args = None,kwargs = None,current_app = None)[source]viewname可以是URL模式名称或可调用视图对象。例如,给出以下url:from news import viewsurl(r'^a原创 2017-04-26 21:18:16 · 3944 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(12)—— django.shortcuts 之 redirect()
redirect()redirect(to, permanent=False, *args, **kwargs)[source]将HttpResponseRedirect返回给传递的参数的相应URL。这个参数可能是:一个模型:模型的get_absolute_url()函数将被调用。视图名称,可能使用参数:reverse()将用于反向解析名称。一个绝对的或相对的URL,将按原样用于重定向位置。原创 2017-04-26 21:01:49 · 4200 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(11)—— django.shortcuts 之 render()
Django shortcut functionsDjango快捷功能软件包django.shortcuts收集了“跨越”多个级别的MVC的帮助函数和类。 换句话说,为方便起见,这些功能/类引入了可控制的耦合。render()render(request,template_name,context = None,content_type = None,status = None,using = No原创 2017-04-26 20:55:16 · 6743 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(10)—— django.contrib.auth 之 User model
User modelFieldsclass models.UserUser objects have the following fields:is_staff: 布尔值,指定此用户是否可以访问后台管理站点。is_active: 布尔值。 指定该用户帐户是否应被视为活动的。 我们建议您将此标志设置为False而不是删除帐户; 这样,如果您的应用程序对用户有任何外键,则外键不会中断。这不一定控制用原创 2017-04-26 20:38:11 · 676 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(9)—— Extra instance methods 之 get_FOO_display()
Extra instance methods额外的实例方法Model.get_FOO_display() 对于具有选择集的每个字段,该对象将具有一个get_FOO_display()方法,其中FOO是该字段的名称。 此方法返回字段的“可读”值。例如:from django.db import modelsclass Person(models.Model): SHIRT_SIZES = (原创 2017-04-26 19:53:12 · 920 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(8)—— Model field reference 之 choices
choicesField.choices一个包含两个项目(例如[(A,B),(A,B)...])的可迭代的迭代(例如,列表或元组))用作该字段的选择。 如果给出这一点,默认窗体小部件将是一个带有这些选项而不是标准文本字段的选择框。每个元组中的第一个元素是要在模型上设置的实际值,第二个元素是可读的名称。 例如:YEAR_IN_SCHOOL_CHOICES = ( ('FR', 'Freshma原创 2017-04-26 19:33:12 · 753 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(7)—— Configuring applications
Configuring applications配置应用程序要配置一个应用程序,子类AppConfig,并将虚线路径放在INSTALLED_APPS中的该子类中。当INSTALLED_APPS只包含应用程序模块的虚线路径时,Django会检查该模块中的default_app_config变量。如果定义了它,那该应用程序的AppConfig子类的虚线路径。如果没有default_app_config,原创 2017-04-26 17:52:45 · 1096 阅读 · 0 评论 -
在 django 1.10.6的环境下使用 xdamin
可用的 xadmin 下载地址安装方法复制 xadmin 目录到你的项目pip install httplib2 django-formtools django-crispy-forms# setting.pyINSTALLED_APPS = [ ..., 'xadmin', 'crispy_forms',]# urls.pyimport xadminurlpatter原创 2017-04-26 14:44:39 · 840 阅读 · 0 评论 -
基于Django的在线MOOC学习系统(5)——创建其余 App 并设计 对应的models.py
site_manage App 用于站点的管理 暂时只有一个数据表实体关系图:原创 2017-04-26 14:25:56 · 1578 阅读 · 0 评论 -
基于Django的在线MOOC学习系统(4)——创建 course App 并设计 models.py
创建 course App:设计 models.py:注册 App , 迁移数据:原创 2017-04-24 23:45:21 · 857 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(6)—— Translation 之 short_description
Model methods short_description attribute valuesFor model methods, you can provide translations to Django and the admin site with the short_description attribute:from django.db import modelsclass MyThi原创 2017-04-24 23:31:11 · 1407 阅读 · 1 评论 -
基于 Django1.10 文档的深入学习(5)—— Making queries 之 FOO_set
进行查询Making queries创建数据模型后,Django会自动为您提供一个数据库抽象API,您可以创建,检索,更新和删除对象。本文档介绍如何使用此API。有关所有各种型号查找选项的详细信息,请参阅数据模型参考。在本指南(和参考文献)中,我们将参考以下包含Weblog应用程序的模型:from django.db import modelsclass Blog(models.Model):原创 2017-04-24 23:23:55 · 530 阅读 · 0 评论 -
基于Django的在线MOOC学习系统(3)——创建 user App 并设计 models.py
创建 user App:设计 models.py:在继承 AbstractUser 的基础上,对 PersonalInformation 表进行设计AbstractUser:class AbstractUser(AbstractBaseUser, PermissionsMixin): """ An abstract base class implementing a fully fe原创 2017-04-24 20:19:34 · 898 阅读 · 0 评论 -
基于 Django1.10 文档的深入学习(4)—— models.py 之 class Meta
class Meta 在其 model 内部提供模型的所有可能的元数据选项verbose_nameOptions.verbose_name A human-readable name for the object, singular: `verbose_name = “pizza”If this isn’t given, Django will use a munged version o原创 2017-04-24 19:03:28 · 773 阅读 · 0 评论