Git Product home page Git Product logo

mblog's Introduction

mblog

经过漫长的备案,网线总算是上线了,接下来应该是各种小修小补,力求完善功能和增强体验。 我的个人技术博客:http://www.qiangtaoli.com/

一个用python3.5.1实现的个人博客网站,内含自己实现的简易版ORM框架和Web框架,欢迎查看学习。如果喜欢的话,可以点击右上角的Star按钮支持下我^_^

用Flask重建过后端,只花了一周的时间,感叹Flask这个轻框架的结构真的是太优雅了!基本上是无痛切换,如果你想深入学习MVC框架,那你最好也看一下我用Flask框架实现的mblog-Flask,你会对整个框架的架构有更深的体会的。

此博客基本按照廖雪峰的python3教程实战部分来编写,经过不少简化或重构而成(基本上看不懂的地方最后弄明白再改写了),欢迎发起pull request来完善注释和功能。

HTTP请求的生命周期

项目流程图

  1. 客户端(浏览器)发起请求
  2. 路由分发请求(这个框架自动帮处理),add_routes函数就是注册路由。
  3. 中间件预处理
    • 打印日志
    • 验证用户登陆
    • 收集Request(请求)的数据
  4. RequestHandler清理参数并调用控制器(Django和Flask把这些处理请求的控制器称为view functions)
  5. 控制器做相关的逻辑判断,有必要时通过ORM框架处理Model的事务。
  6. 模型层的主要事务是数据库的查增改删。
  7. 控制器再次接管控制权,返回相应的数据。
  8. Response_factory根据控制器传过来的数据产生不同的响应。
  9. 客户端(浏览器)接收到来自服务器的响应。

添加更新日志

直到现在才发现有需要写一个更新日志...orz
最近在学习前端,更新应该还是很频繁的。 点我查看更新

##准备工作 请确保你已经安装以下的库

  1. python3.5 及以上版本

  2. aiohttp: 支持异步http服务器

  3. jinja2: python的模板引擎

  4. aiomysql: aiomysql针对asyncio框架用于访问mysql的库

  5. Pygments:用于实现网页代码高亮的库

  6. mistune: 将文本markdown化,结合Pygments可以精确高亮绝大多数编程语言

所有的库都可以通过pip安装,或者更方便地使用pip install -r requirements.txt命令来安装。

###项目结构

mblog/                    <--根目录
|
+-conf/                   <--服务器配置目录
|
+-db_init/                <--数据库初始化文件目录
|
+-log/                    <--服务器日志目录
|
+-www/                    <--web项目目录
	|
	+-config/             <--项目配置目录
	|
	+-app/                <--app目录
	|	|
	|	+-frame/          <--web和orm框架
	|	|
	|	+-static/          <--静态文件
	|	|
	|	+-templates/       <--模板文件
	|	|
	|	+__init__.py       <--app初始化
	|	|
	|	+factorys.py       <--工厂函数
	|	|
	|	+models.py         <--模型(数据库的表)
	|	|
	|	+-route.py         <--路由
	|   |
	|   +-api.py         <-- api接口
	|
	orm_test.py           <--测试orm
	|
	pymonitor.py          <--监视器
	|
	run.py                <--主运行文件

项目近况(Todo list)

  • 把前端迁移到Bootstrap框架,全面支持响应式布局  (达成)
  • 因为js的数据处理和前端绑定,js代码估计也需要修改,然而我还未学过javaScript  (达成)
  • 将来肯定要支持代码高亮的  (达成)
  • 数据库可迁移也是要弄的  (0%)
  • 编写更安全更可扩展的Restful api v2 (75%)
  • 添加Aboat me页面 (0%)
  • 添加测试功能  (0%)

支持代码高亮

  • 只支持python代码的高亮。
  • 现在好像还没有支持python3.5的新语法,我也不知道为什么,明明在pygments官网示范是支持的。
  • 只支持区块代码的高亮,markdown默认区块代码是前面四个空格。
  • 支持html语法高亮,代码需要以<开头
  • 支持javascript语法高亮,代码需要以varfunction$开头
  • 支持python3语法高亮,默认就是python3的解析器
  • 支持php语法高亮,代码需要以<?php开头
  • 支持大部分语言的代码高亮,需要用```(lang)\n(code)\n```包裹

mblog's People

Contributors

irfan-ansari-au28 avatar moling3650 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mblog's Issues

Project dependencies may have API risk issues

Hi, In myblog, inappropriate dependency versioning constraints can cause risks.

Below are the dependencies and version constraints that the project is using

asn1crypto==0.24.0
cffi==1.11.5
cryptography==2.2.2
diff-match-patch==20121119
Django==2.0.7
django-crispy-forms==1.7.2
django-formtools==2.1
django-import-export==1.0.1
et-xmlfile==1.0.1
future==0.16.0
httplib2==0.11.3
idna==2.7
jdcal==1.4
Markdown==2.6.11
odfpy==1.3.6
olefile==0.45.1
openpyxl==2.5.4
Pillow==4.1.0
pycparser==2.18
PyMySQL==0.9.1
pytz==2018.5
PyYAML==3.12
six==1.11.0
tablib==0.12.1
unicodecsv==0.14.1
uWSGI==2.0.17
xlrd==1.1.0
xlwt==1.3.0

The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict.
The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.

After further analysis, in this project,
The version constraint of dependency asn1crypto can be changed to >=0.21.0,<=1.5.1.
The version constraint of dependency django-import-export can be changed to >=0.2.0,<=3.0.0b4.
The version constraint of dependency future can be changed to >=0.12.0,<=0.18.2.
The version constraint of dependency Markdown can be changed to >=2.3,<=3.3.7.
The version constraint of dependency xlwt can be changed to >=1.0.0,<=1.3.0.

The above modification suggestions can reduce the dependency conflicts as much as possible,
and introduce the latest version as much as possible without calling Error in the projects.

The invocation of the current project includes all the following methods.

The calling methods from the asn1crypto
parser.parse
The calling methods from the django-import-export
import_export.forms.ExportForm
import_export.resources.modelresource_factory
The calling methods from the future
datetime.datetime.now
future.utils.iteritems
datetime.timedelta
The calling methods from the Markdown
markdown.markdown
The calling methods from the xlwt
xlwt.Workbook.add_sheet
xlwt.Workbook.save
xlwt.easyxf
xlwt.Workbook
The calling methods from the all methods
admin_view.admin_site._registry.get
WidgetTypeSelect
request.POST.keys
django.utils.http.urlencode
xadmin.util.get_model_from_relation
self.get_object_url
django.shortcuts.render
self.DeleteField.super.render
cls.get_view
self.get_import_resource_class
django.contrib.messages.warning
xlsxwriter.Workbook
widgets.url_params_from_lookup_dict
self.ShowField.super.__init__
self._get_default_ordering
xadmin.util.is_related_field
container.fields.append
self.request.POST.get
django.db.models.constants.LOOKUP_SEP.join
self.RelatedFieldSearchFilter.super.get_context
self.ReadOnlyField.super.__init__
get_first_field
request.GET.split
xadmin.models.Bookmark.objects.all
ForeignKeySelectWidget.ForeignKeySearchWidget.style
logging.error
self._nested
queryset.distinct
queryset.none.none
related_version.content_type_id.ContentType.objects.get_for_id.model_class
self.get_revision.update
self.module.autodiscover
__
ordering_field_columns.items
i.startswith
django.core.cache.cache.set
django.forms.MultiWidget.__init__
merges.append
functools.wraps
name.replace
self.get_model_view
self.admin_view.list_queryset._clone.aggregate
o_list_remove.append
choices.append
xadmin.plugins.utils.get_context_dict.update
set
opts.get_field.value_from_object
xadmin.layout.Row
math.ceil
map
cls.init_request
ChangeFieldWidgetWrapper
model_or_label.lower.split
self.nodelist.render
klass.self.formfield_overrides.copy
copy.deepcopy
handler
self.get_skip_admin_log
stream.getvalue.split
field_path.field_path.self.admin_view.queryset.exclude.values_list.distinct
cls.model_admin_url
self.has_change_permission
model_admin
self.get_export_formats
self.charts.items
content.url.user.source_id.title.Conment.save
self.get_readonly_fields
self.UserAdmin.super.get_form_layout
self.dashboard.static
django.forms.BooleanField
django.test.client.RequestFactory
self.model.CreateAdminView.self.get_model_view.post
self.make_get_request
django.core.cache.cache.get
self.request.META.find
self.DateFieldListFilter.super.get_context
xadmin.models.UserWidget.objects.get
site.register_view
django.contrib.formtools.wizard.views.StepsHelper
User.objects.get.check_password
o_list_desc.insert
queryset.filter.count
_related_acts.append
self.field.form.fields.widget.attrs.get
django.utils.timezone.get_current_timezone
django.http.Http404
django.urls.base.reverse
self.used_params.copy.items
self.opts.verbose_name.replace
django.db.models.GenericIPAddressField
self.ShowField.super.render
self.password_reset_form.save
wizard.get_cleaned_data_for_step
self.get_actions
myappend
formset
item.pop
self.get_form_helper
cls.get_admin_url
xadmin.layout.FormHelper.add_layout
replace_field_to_value
self.get_ordering_field
xadmin.sites.site.register
django.forms.models.modelform_factory
self.get_widgets
xadmin.models.Log
itertools.chain
django.utils.translation.get_language
rel.get_accessor_name
boolean_icon
self.request.GET.items.dict.copy.items
cs.fields.extend
plugin_class.__name__.replace
xadmin.views.base.ModelAdminView.get_context
new_params.items
self.get_tmp_storage_class
inspect.ismethod
functools.partial
follow.append
self.ResetPasswordSendView.super.get_context
l.widgets.url_params_from_lookup_dict.items
portal.col.col.w.w.id.str.join.join.self.get_page_id.self.user.UserSettings.save
had_urls.append
field_name.ordering_field_columns.get.lower
inline_class.InlineModelAdmin.GenericInlineModelAdmin.inline_class.getattr.self.admin_view.get_view.init.has_delete_permission
sys.setdefaultencoding
list_filter_class
self.admin_view.get_query_string
self.AdminImageWidget.super.render
sorted
io.StringIO
xadmin.sites.site.copy_registry
django.utils.xmlutils.SimplerXMLGenerator.startDocument
ResultRow
self.admin_view.request.user.has_perm
self.admin_view.message_user
queryset.self.admin_view.queryset.filter.order_by
cls.get_breadcrumb
self.style.self.max_num.style_manager.get_style.update_layout
request.self.get_export_resource_kwargs.resource_class.export
self.get_action
models.Conment
self.get_ordering_field_columns
Side
tag.split
self.UpdateAdminView.super.get_context
django.utils.html.format_html
self.Dashboard.super.get_media
cls.has_add_permission
xadmin.layout.flatatt
self.template_response
self.cleaned_data.get
django.contrib.contenttypes.models.ContentType.objects.get_for_model
search_models.append
self.result_header
range
cls.get_model_perm
self.get_result_list
xadmin.util.quote
initial.append
self.widget_with_perm.super.context
is_rel_field
opts.get_field
output.append
import_export.forms.ExportForm
UserSettings.objects.get
importlib.import_module
self.do_view
form._meta.model._meta.get_parent_list
tuple
normalize_name
self.ListWidget.super.setup
self.get_model_view.formfield_for_dbfield
SuspiciousOperation
Dashboard.get_context.update
django.template.loader.render_to_string
self.EditablePlugin.super.__init__
django.utils.xmlutils.SimplerXMLGenerator.endElement
QuickFilterMultiSelectFieldListFilter
bookmark.content_type.model_class
InlineStyleManager.get_style
func
diff_fields.items
django.db.models.Q
self.get_related_versions.pop
self.get_import_formats
btns.append
xadmin.plugins.register_builtin_plugins
ModelChoiceField
self.ModelAdminView.super.get_context.update
self.get_title
FORMFIELD_FOR_DBFIELD_DEFAULTS.copy
inline_class.InlineModelAdmin.GenericInlineModelAdmin.inline_class.getattr.self.admin_view.get_view.init.instance_form
app_label.lower
xadmin.util.vendor
IncorrectLookupParameters
AlreadyRegistered
self.ModelAdminView.super.get_context
django.contrib.messages.success
k.startswith
self.style.self.max_num.style_manager.get_style
xadmin.sites.site.register_settings
request.POST.get
self.setup_forms
xlwt.Workbook.save
methods.append
django.utils.translation.ugettext
available_output.append
imp.reload
xadmin.site.register_plugin
p
site.register_plugin
django.forms.ChoiceField
self.prepare_form
readonly_field.inst.getattr
crispy_forms.layout.Field
field_name.startswith
self.admin_view.has_model_perm
self.queryset
self.batch_fields.self.get_change_form
xadmin.site._registry.items
self.get_plugins.extend
each.get
self.ListAdminView.super.get_media
self._get_default_ordering.append
self.request.get_full_path
self.get_form_layout
is_order_changed
model.ListAdminView.self.get_view_class
detail_a.get_field_result
self.render_option
django.db.models.BooleanField
self.used_params.keys
source.self.edges.setdefault.append
t.replace.replace
self.new_obj._get_pk_val
xlwt.Workbook.close
xadmin.layout.Side
key.replace.replace
self.BatchChangeAction.super.get_media
self.ModelBaseWidget.super.setup
self.errors.as_text
field_path.self.admin_view.queryset.exclude.values_list
self.convert_field
self.Row.super.__init__
self.get_formset
av.result_headers
form_class.save
self.admin_view
QuickFilterMultiSelectFieldListFilter.do_filte
reversion.revisions.set_user
self.ForeignKeySearchWidget.super.__init__
self.get_tmp_storage_class.read
self.get_related_list
self.opts.get_field.startswith
inst._meta.get_field
xlwt.easyxf
self.paginator.page
total_form_count_hack
self.model_admin_url
app_label.title
os.path.abspath
self.has_add_permission
FORMFIELD_FOR_DBFIELD_DEFAULTS.copy.update
self.AdminIntegerFieldWidget.super.__init__
django.apps.apps.get_app_config
self.get_action_choices
self._get_form_prefix
results.append
self.admin_view.request.model_admin.has_view_permission
self.change_password_form
django.conf.settings.AUTH_USER_MODEL.lower.replace
str.update
self.has_perm
self.admin_view.queryset.filter
self.AdminTextInputWidget.super.__init__
self.AdminSelectMultiple.super.__init__
property
django.contrib.auth.models.Permission.objects.create
FieldFilterManager
enumerate
self.AllValuesFieldListFilter.super.__init__
django.http.HttpResponse.write
admin_view_class.__name__.lower
objects.append
self.has_permission
self._widgets.values
django.db.models.TextField
attrs.value.name.self.AdminSplitDateTime.super.render.replace.split
django.contrib.contenttypes.forms.generic_inlineformset_factory
self.static
fk_name.inline_model._meta.get_field.remote_field.get_accessor_name
django.http.JsonResponse
django.utils.translation.ungettext
self.field.form.fields.widget.attrs.get.replace
self.form_obj.fields.keys
django.template.loader.select_template
self.save_models
import_export.forms.ConfirmImportForm.is_valid
django.forms.CheckboxInput.render
data.get.get
self.model.objects.get.save
site.set_loginview
AdminSite
io.BytesIO
import_export.signals.post_export.send
formset.style.get_attrs
export_format.int.formats.export_data
self.Col.super.__init__
cls.queryset
django.template.Template.render
hasattr
self.storage.update_response
reversion.revisions.is_registered
form_class.is_valid
self.widget.render
io.BytesIO.getvalue
self.get_all_cleaned_data
self._hack_inline_formset_initial
self.JsonErrorDict.super.__init__
plugins.append
self.ChartWidget.super.filte_choices_model
rows.append
self.admin_view.queryset
xlwt.Workbook.add_format
COL_LIST_VAR.self.request.GET.split
bool
tag.startswith
django.template.loader.get_template.render
xadmin.models.UserSettings
list_view.get_model_perms
opts.get_field.startswith
xadmin.models.UserWidget.objects.filter
self.save_forms
self.RecoverListView.super.get_context
self.get_chart_url
self.relate_obj.get_brand_name
self.model.CreateAdminView.self.get_view_class
self.chart.get
self.admin_view.model.save
xadmin.layout.Container
self.list_queryset._clone
self._get_input
k.smart_str.startswith
self.set_cached_choices
form.form.errors.JsonErrorDict.as_json
xadmin.util.model_format_dict
obj_version.m2m_data.items
get_url
django.core.cache.caches.set
import_export.forms.ExportForm.is_valid
filter_chain
self.model_form
xadmin.sites.site.register_view
self.form_params
self.actions.values
self.dashboard.vendor
self.get_version_object
self.request.GET.split
key.endswith
path.startswith
self.choices
self.get_view_class
self.BookmarkAdmin.super.get_list_display
model_format_dict
self.RevisionView.super.get_form_helper.filter
self._order_version_queryset
Index.as_view
portal_col.append
self._registry_plugins.setdefault
version.revision.version_set.all
request.GET.items
InlineFormset.non_form_errors
field.name.queryset.distinct.order_by.values_list
fs_map.values
re.findall
self.get_initial_data.update
merge_opts.append
export_format.int.formats
self.obj.delete
self._field_list_filters.insert
xadmin.sites.site.register_plugin
admin_view_class.mro
super
it.str.strip
self.RelatedFieldSearchFilter.super.get_context.update
get_content_type_for_model
self.AdminCommaSeparatedIntegerFieldWidget.super.__init__
self._test_mobile
Detail.as_view
self._create_plugin
self.get_widget
self.Fieldset.super.__init__
instance.fields.keys
nodes.insert
xlwt.Workbook.add_worksheet
Tagcloud.as_view
wizard.get_cleaned_data_for_step.pop
self.form_obj.save_m2m
self.update_dashboard
django.contrib.contenttypes.models.ContentType.objects.all
self.ImportView.super.get_media
dir
get
ordering_field_columns.keys
bookmarks.append
o_list_asc.insert
self.FormAdminView.super.get_breadcrumb
bytes
action.has_perm
self.AdminURLFieldWidget.super.__init__
obj.count
self.add_edge
self.request.GET.items.dict.copy.init_request
io.StringIO.getvalue
range.extend
av.message_user
self.ModelFormAdminView.super.get_media
datetime.timedelta
inspect.getfullargspec
django.template.Context
crispy_forms.utils.render_field
self.get_admin_url
self.url_for_result
markdown.markdown
django.utils.formats.number_format
self.context_params.items
self.response_action
xadmin.util.static
self.InlineModelAdmin.super.queryset
level.messages.getattr
django.db.models.EmailField
export_format.int.formats.get_content_type
type.__new__
self.revision_context_manager.set_comment
django.db.migrations.AddField
self.UserWidgetAdmin.super.delete_models
current_tz.normalize.astimezone
self.opts.get_field
self.form_obj.errors.values
import_export.signals.post_import.send
xrange
xadmin.views.list.ResultRow
self.update_params
self.get_query_string
django.core.wsgi.get_wsgi_application
confirm_form.cleaned_data.int.import_formats.is_binary
url.find
lookup.split
self.CommentsAdmin.super.get_actions.pop
self.get_field_style
self.admin_view.get_view
now.date.replace
django.shortcuts.render_to_response
util.get_limit_choices_to_from_path
django.contrib.comments.get_model
self.results
self.obj.pk.self.model.Version.objects.get_for_object_reference.select_related
form.is_valid
django.utils.decorators.method_decorator
self.request.GET.keys
self.DeleteAdminView.super.get_context
self.ListFieldFilter.super.get_context
self.get_ordering
self.RevisionView.super.get_form_helper
self.request.GET.items.dict.copy.keys
do_create_revision
self.prepare_value.lower
self.ChartsView.super.get_ordering
fm
self.model._default_manager.get_queryset
util.vendor
self.admin_view.get_response
getattr.split
django.forms.utils.ErrorList
self.AdminDateWidget.super.__init__
confirm_form.cleaned_data.int.import_formats.create_dataset
self.admin_site.get_view_class
ord
self.formset.fields.keys
field.remote_field.get_related_field
base.inclusion_tag
self.get_context
self.DetailAdminView.super.get_context
django.forms.formsets.DELETION_FIELD_NAME.helper.wrap
WidgetManager
self.get_model_method_fields
self.admin_view.admin_site._registry.get
request.POST.getlist
BlockcaptureNode
kwargs.get
f.remote_field.field.remote_field.is_hidden
list_display.insert
pks.f.rel.to._default_manager.get_query_set.filter.all
json.loads
reversion.models.Version.objects.get_deleted
formset._construct_form
self.request.method.lower
site.register_modelview
self.login_view.self.create_admin_view
join.append
django.template.response.SimpleTemplateResponse
inline_instances.append
f.save_form_data
chosen_output.append
obj.Truncator.words
self.change_message
self.admin_view.get_template_list
xadmin.util.json.loads
JsonErrorDict
set.add
parser.delete_first_token
xadmin.models.Log.save
django.forms.ValidationError
book.add_sheet.write
self.get_form_list.keys.index
self.get_list_queryset
self.admin_site._registry.keys
self.JSONEncoder.super.default
f.rel.to._default_manager.get_query_set
isinstance
collections.OrderedDict
getattr
django.conf.settings.AUTH_USER_MODEL.lower
xadmin.layout.Main
self.attrs.get
attrs.value.name.self.AdminSplitDateTime.super.render.replace
self.FormAdminView.super.get_media
field.strip
parent._meta.get_field.related_query_name
self.AdminTimeWidget.super.__init__
self.PrependedText.super.__init__
models.Blog.objects.all
self.has_delete_permission
self.WidgetTypeSelect.super.__init__
i.datas.append
sys.path.insert
Message.as_view
self.DateFieldListFilter.super.__init__
o_list_desc.append
xadmin.views.register_builtin_views
self.ModelAdminView.super.get_breadcrumb
WidgetManager.get
django.contrib.formtools.wizard.storage.get_storage
self.Inline.super.__init__
form
self._registry_modelviews.append
Main
sys.getdefaultencoding
django.conf.urls.url
self.admin_view.request.model_admin.has_change_permission
obj._get_pk_val
inspect.isclass
InlineFormset
make_qs_param
_register_model
self.post_result_list
datetime.datetime.now.strftime
self.form_obj.save
django.forms.Media
django.contrib.admin.utils.get_fields_from_path
self.formset.fields.items
errors_in_inline_form.values
self.widget.build_attrs
django.forms.models.inlineformset_factory
django.contrib.auth.views.password_reset_confirm
app_key.nav_menu.append
smart_str
queryset.filter.filter
form.cleaned_data.int.import_formats
context.flatten
xadmin.views.dashboard.BaseWidget.setup
self.AdminImageWidget.super.__init__
xadmin.site.register
models.Conment.objects.all.order_by
self.widget.id_for_label
self.get_form_helper.filter
self.process_import_resource
len
cls.has_view_permission
inline_class.InlineModelAdmin.GenericInlineModelAdmin.inline_class.getattr.self.admin_view.get_view.init.has_add_permission
list.sort
remove_trailing_data_field.append
collections.OrderedDict.extend
field.rel.get_related_field
django.utils.text.capfirst
self.MultiSelectFieldListFilter.super.__init__
self.storage.get_step_files
self.get_layout
self.DetailAdminView.super.get_breadcrumb.append
django.utils.text.Truncator
xadmin.widgets.url_params_from_lookup_dict
str
InlineFormset.pop
field_list_filter_class.do_filte
fs.extend
django.db.migrations.RenameModel
xadmin.models.UserWidget.objects.get.media
self.get_portal_key
self.request.GET.get
ModelChoiceIterator
self.RelatedFieldSearchFilter.super.__init__
self.edges.setdefault
change_fields.self.get_change_form
Exception
action.replace
xadmin.util.json.dumps
xadmin.util.unquote
xadmin.util.model_ngettext
data.pop
self.ListAdminView.super.get_context
getattr.all
get_layout_objects
diffs.append
self.attrs.copy
self._to_xml
admin_site._registry.items
xadmin.layout.Layout.extend
xadmin.models.UserSettings.objects.get.split
self.admin_site._registry.items
xadmin.util.is_related_field2
self.import_export_args.get
xadmin.util.label_for_field
myatoi
xadmin.models.UserSettings.objects.get_or_create
content.decode.decode
model_admin.get_admin_url
django.utils.html.escape
pymysql.install_as_MySQLdb
self.Dashboard.super.get_context
add_models.append
xadmin.layout.Col
self.ResetPasswordComfirmView.super.get_context
kwargs.pop
django.views.i18n.set_language
self.result_item
TDField
json.loads.get
django.core.cache.caches
self.get_view
queryset.distinct.order_by
f
v.split
import_export.resources.modelresource_factory
av.list_queryset._clone
xadmin.models.Bookmark
cls.init_plugin
self.rel.to._default_manager.using
inst._meta.get_all_field_names
self.lookup_formats.items
self.to_model._default_manager.get_queryset
django.contrib.auth.models.Permission.objects.filter
self.get_export_resource_class
RelatedFieldWidgetWrapper
links.append
lookup.split.pop
django.forms.Field.__deepcopy__
models.Blog.objects.all.order_by
self.get_model_url
ws.append
widget_with_perm
self.get_list_display_links
self._get_url
httplib2.Http
self.UserWidgetAdmin.super.delete_model
self.request.POST.getlist
self.UserAdmin.super.get_field_attrs
b.get
self.post_response
django.contrib.auth.models.UserManager
item.classes.extend
detail_b.get_field_result
self.lookup_allowed
self.admin_view.model_admin_url
Articles.as_view
option.update
xadmin.util.display_for_field
django.core.cache.cache.get.extend
xadmin.util.boolean_icon
self.change_models
context.update
django.db.models.ManyToManyField
xadmin.layout.FormHelper
xadmin.widgets.AdminRadioSelect
import_file.chunks
self.AddFormWidget.super.setup
django.http.HttpResponseRedirect
self.get_resource_kwargs
context.GET.get
self.get_field_attrs
WidgetManager.get_widgets
self.used_params.copy
field.get_choices
request.GET.get
dict.items
self.check_dependencies
self.get_export_resource_kwargs
filter
self.get_urls
self.used_params.copy.pop
list_view.results
construct_search
attr
bk.items
file_field_list.append
django.utils.encoding.force_text
xadmin.layout.Layout
self.new_obj.save
item.wraps.append
o_list_toggle.append
self.get_model_view.init_action
resource_class
reversion.models.Version.objects.get_for_object_reference
col.split
list.index
models.Category.objects.all
self.admin_view.get_admin_url
xadmin.sites.site.restore_registry
queryset.order_by.select_related
self.password_reset_form.is_valid
self.get_all_cleaned_data.update
output.extend
self.ChangeAccountPasswordView.super.get_context.update
value.lower.split
django.contrib.contenttypes.models.ContentType.objects.get_for_id
self.get_object
self._done
self.to_model._default_manager.get_queryset.filter
self.view_form
self.filter_specs.append
replace_inline_objects
reversed_path.insert
ordering_field_columns.get
django.http.HttpResponse
self.get_form_list
self.ChangePasswordView.super.get_media
parent._meta.get_field
self._registry_avs.get
self.create_admin_view
dict.update
self.global_models_icon.get
item.classes.append
view_class.mro
self.create_model_admin_view
dict.get
self.BookmarkAdmin.super.get_list_display.remove
util.prepare_lookup_value
widget_manager.get_widgets.append
json.dumps
js.extend
children.extend
self.form_obj.is_valid
self.DeleteAdminView.super.get_breadcrumb.append
field_names.append
xadmin.models.UserSettings.objects.get
cls_str.helper.filter.wrap
confirm_form.cleaned_data.int.import_formats.get_read_mode
self.request.user.has_perm
current_tz.normalize.replace
models.Blog.objects.filter.count
item.wraps.insert
self.get_form_helper.add_layout
self.inputs.append
QuickFilterMultiSelectFieldListFilter.has_output
confirm_form.cleaned_data.int.import_formats
self.get_import_resource_kwargs
self.FormAdminView.super.get_breadcrumb.append
self.save_order
get_gallery_modal
xadmin.models.UserWidget
admin_view_class.__name__.lower.lower
xadmin.layout.render_field
self.relate_obj.filter
self.admin_view.setup_forms
self.admin_site._registry.get
context.get
self.NestedObjects.super.collect
self.FieldFilter.super.__init__
self.ModelAdminView.super.__init__
xlwt.Workbook
rel.get_related_field
django.db.migrations.RemoveField
detail.get_field_result
filter_item
ResultField
django.utils.translation.get_language.replace
self._get_field_aggregate
self.get_import_resource_class.get_user_visible_fields
self.get_form_list.keys
django.views.decorators.cache.never_cache
self.NestedObjects.super.__init__
self.ModelFormAdminView.super.get_breadcrumb.append
i.layout_cs.split
o.text.str.startswith
inline_class.InlineModelAdmin.GenericInlineModelAdmin.inline_class.getattr.self.admin_view.get_view.init
os.path.join
mychr
django.forms.utils.flatatt
self.ModelFormAdminView.super.get_breadcrumb
self.get
self.items
setattr
django.apps.apps.get_model
self.attrs.pop
django.core.management.execute_from_command_line
self.DetailAdminView.super.get_breadcrumb
self.UserWidgetAdmin.super.formfield_for_dbfield
self.result_row
django.utils.safestring.mark_safe
admin_view_class.__name__.lower.endswith
ShowField
util.get_model_from_relation
functools.update_wrapper
other_model._default_manager.get
django.core.exceptions.FieldError
self.render_options
list_filter_class.test
resource.import_data.has_errors
f.value
self.AdminDateWidget.super.render
self.result_headers
done_message
self.log
self.cache_config.update
self.password_reset_form
self.InlineDiffField.super.render
block_func
django.utils.timezone.now
admin_view_class.self._registry_plugins.setdefault.append
django.forms.models.modelform_defines_fields
self.request.is_ajax
self.storage.reset
db_field.__class__.mro
value.self.rel_name.to_qs.filter.all
request.POST.copy
item.btns.append
self.admin_view.queryset.exclude
self.WidgetDataError.super.__init__
issubclass
self.AdminTextareaWidget.super.__init__
action
django.shortcuts.get_object_or_404
self._get_detail_formset_instance
code.lower
django.db.migrations.AlterModelOptions
django.utils.translation.ugettext.append
django.template.Template
model._meta.get_all_field_names
self.AdminTimeWidget.super.render
p.rpartition
self.get_step_form_obj
self.form.is_valid
self.data_charts.items
queryset.filter.exclude
self.get_import_resource_class.import_data
FakeMethodField
self.ModelAdminView.super.get_breadcrumb.append
self.db.self.rel.to._default_manager.using.get
io.StringIO.append
django.forms.Field.__init__
self.get_form_list.items
self.ChangeAccountPasswordView.super.get_context
django.utils.html.conditional_escape
th_classes.append
django.utils.formats.localize
cls.get_model_url
self.add_view.model_admin_url
fk_name.inline_model._meta.get_field.remote_field.is_hidden
request.get_host
print
self.UserWidgetAdmin.super.get_list_display
self.admin_view.list_queryset._clone
model_info.content_type.Bookmark.objects.filter.filter
django.contrib.auth.validators.UnicodeUsernameValidator
self.get_template_list
nodes.append
calendar.timegm
self.query_string
is_related_field
self.get_form_datas
django.template.TemplateSyntaxError
list_filter
self._get_merge_attrs
self.get_context.update
queryset.filter.values_list
admin_view_class.self.get_view_class.as_view
get_first_field.append
datas.copy
self.NestedObjects.super.related_objects
lookup_field
self.UpdateAdminView.super.post
model._meta.parents.items
ImportError
self.build_attrs
xadmin.models.UserSettings.objects.get.save
InlineStyleManager
os.path.dirname
self._reversion_order_version_queryset
int
zip
self.queryset.get
self._format_value.insert
fs_map.pop
IncorrectPluginArg
django.forms.CheckboxInput
f.can_import
self.admin_view.model
loader.render_to_string
self.get_response
self.PrependedAppendedText.super.__init__
django.urls.re_path
UserSettings.objects.get.save
wrap
ResultItem
django.contrib.auth.get_permission_codename
self._get_relate_params
self.form.save
self._registry_views.append
NotRegistered
django.db.models.sql.query.LOOKUP_SEP.join
p.codename.split
django.utils.encoding.smart_text
self.has_view_permission
self._get_settings_class
self._get_objects
AdminRadioInput
current_tz.normalize.date
self.admin_view.has_change_permission
self.BaseRevisionView.super.get_context
xadmin.views.list.ResultItem
Media
portal.append
UsernameSearch
xadmin.sites.site.register_modelview
copy.copy
self._portal_key
container.append
django.shortcuts.get_object_or_404.commenced
self.admin_view.__class__.mro
Link.as_view
django.core.cache.caches.get
initial.get
check_menu_permission
defaults.update
inline_fields.append
cls.has_change_permission
django.forms.models.model_to_dict
fields.append
self._get_datas
self.ChartWidget.super.setup
self.request.GET.items.dict.copy
layout.get_field_names
o.timetuple
__.update
MergeAdminMetaclass
self.admin_view.params.items
django.forms.utils.ErrorList.extend
formset.fk.rel.get_related_field
self.CommAdminView.super.get_context
self.save_related
self.formsets.append
av.list_queryset.filter.delete
django.template.Library.tag
self.RevisionView.super.get_context
django.contrib.admin.utils.get_deleted_objects
django.contrib.auth.get_user_model
readonly_field.self.getattr
self._bulk_flag
django.forms.widgets.Media
self.request.GET.get.split
self.NestedObjects.super.related_objects.select_related
django.utils.html.format_html.append
kwargs.get.append
ORDER_VAR.self.params.split
django.utils.xmlutils.SimplerXMLGenerator.endDocument
self.get_model_view.get_field_result
model._meta.pk.to_python
xadmin.models.UserWidget.objects.get.set_value
self.get_export_data
self.prepare_value
self.UserWidgetAdmin.super.queryset
xadmin.models.UserSettings.objects.filter
self.get_tmp_storage_class.save
self.get_model_form
cls.get_nav_menu
django.utils.translation.ugettext.extend
opts.object_name.lower
self.ModelFormAdminView.super.__init__
datas.update
django.core.exceptions.SuspiciousOperation
self.CommentsAdmin.super.get_actions
Dashboard.get_context
django.forms.IntegerField
self.DeleteAdminView.super.get_breadcrumb
form.readonly_fields.append
self.get_step_form_obj.is_valid
self.paginator_class
import_export.forms.ImportForm
k.initial.split
reversion.revisions.register
django.template.Library.simple_tag
AdminSite.register
django.utils.http.urlquote
self.UserWidgetAdmin.super.get_list_display.remove
self.SelectMultipleTransfer.super.__init__
need_perm
self.get_list_display
django.templatetags.static.static
django.template.Library
django.template.response.TemplateResponse
self.BaseRevisionView.super.get_media
self.ModelBaseWidget.super.__init__
django.db.migrations.swappable_dependency
xadmin.plugins.ajax.JsonErrorDict
data.items
_autoregister
form.save
self.get_revision
SelectMultipleTransfer
self.edges.get
self.init
django.urls.include
range.append
field.helper.wrap
self.storage.set_step_files
xadmin.layout.Layout.get_field_names
self.get_initial_data
django.forms.ModelChoiceField
request.GET.get.split
self.get_paginator
parent_model._default_manager.all
xadmin.plugins.utils.get_context_dict
self.get_factory
self.dashboard.has_model_perm
cls.get_media
self.valid_forms
xadmin.util.sortkeypicker
self.ForeignKeySelectWidget.super.build_attrs
tags.util_vendor.render
django.forms.formsets.all_valid
user.has_perm
ac
field_list_filter_class
format
django.views.i18n.JavaScriptCatalog.as_view
self.context
self.get_export_filename
Search.as_view
cls.get_model_icon
self.revision_context_manager.set_user
self.SelectMultipleDropdown.super.render
self._get_aggregate_row
django.utils.text.get_text_list
self.ResetPasswordComfirmView.super.get_media
option_class.admin_view_class.self.get_view_class.as_view
field_names.extend
related_fields.append
self.get_form_list.get
self.get_factory.post
self.is_valid
db_field.formfield
RegistrationError
self.get_check_field_url
datetime.datetime.now
field_list_filter_class.has_output
django.apps.apps.get_app_configs
self.UserWidget.super.save
self.ForeignKeySelectWidget.super.build_attrs.update
get_permission_name
model_or_label.lower
self.add_view.instance_forms
self.RecoverView.super.get_context
attrs.get.replace
re.sub
Archive.as_view
self.request.GET.items
list_display.remove
django.forms.ModelChoiceField.save
WidgetDataError
django.db.models.CharField
self.delete_model
self.get_init_widget
name.find
self.get_factory.get
reversion.revisions.create_revision
self.get_error_list
get_model_from_relation
format_callback
django.utils.encoding.smart_str
self.aggregate_fields.items
itertools.chain.from_iterable
queryset.count
django.db.models.ForeignKey
self._get_all_related_objects
django.forms.CharField
menu.sort
id
django.core.paginator.Paginator
self.model.ListAdminView.self.get_view_class
portal_pos.value.split
self.inline_styles.get
name.split
django.urls.path.append
django.contrib.formtools.wizard.forms.ManagementForm.is_valid
re.sub.lower
self.get_cached_choices
django.contrib.formtools.wizard.forms.ManagementForm
django.db.models.AutoField
self.message_user
django.http.QueryDict.items
self.get_step_form
xadmin.models.Bookmark.objects.filter
self.GroupAdmin.super.get_field_attrs
getattr.lower
comments.get.get
new.lower.strip
self.get_related_versions
RelateObject
self.make_result_list
django.utils.xmlutils.SimplerXMLGenerator.startElement
django.contrib.auth.views.logout
self.render_response
queryset.order_by.order_by
django.forms.utils.flatatt.append
self.RevisionListView.super.get_media
xadmin.layout.Fieldset
admin_view.model
lookup_path.split
qs.filter.filter
parser.parse
self.get_page_id
django.db.router.db_for_write
f.rel.get_related_field
inline_model._meta.get_field
check_selected
self.tag
merge_opts.extend
self.RelatedFieldListFilter.super.__init__
self.setup
httplib2.Http.request
queryset.filter.distinct
f.rel.to._default_manager.get_query_set.filter
self.CreateAdminView.super.get_context
self.opts._get_fields
django.core.paginator.Paginator.page
self.dashboard.get_model_icon
get_context_dict
self.label_for_value
django.urls.path
Fieldset
django.db.models.IntegerField
s.split
django.utils.xmlutils.SimplerXMLGenerator.characters
request.get_full_path
model._meta.get_field
xadmin.util.lookup_field
o_list_asc.append
django.utils.timezone.localtime
django.utils.module_loading.module_has_submodule
context.update.update
django.forms.forms.DeclarativeFieldsMetaclass
self.AppendedText.super.__init__
self.AdminSplitDateTime.super.render
t.replace.replace.replace
os.environ.setdefault
self.convert
self.ResultHeader.super.__init__
django.utils.encoding.smart_text.get
django.utils.timezone.get_current_timezone.normalize
django.views.decorators.debug.sensitive_post_parameters
callable
self.ForeignKeySearchWidget.super.build_attrs
self.admin_view.style_fields.values
cls
django.utils.xmlutils.SimplerXMLGenerator
self.get_tmp_storage_class.remove
import_export.forms.ConfirmImportForm
self.queryset.update
chart.model_admin.data_charts.get
django.utils.itercompat.is_iterable
django.contrib.admin.utils.lookup_needs_distinct
get_fields_from_path
arg.get
copy.copy.save
av.list_queryset.filter.count
version_data.get
django.template.context_processors.csrf
file_type.self.getattr
self.InputGroup.super.__init__
self.relate_obj.filter.filter
django.db.migrations.AlterField
cacheable.view.self.admin_view
io.BytesIO.seek
About.as_view
models.Blog.objects.filter
self.get_new_field_html
django.db.models.DateTimeField
xadmin.models.UserWidget.objects.get.save
errors.extend
xadmin.widgets.AdminCheckboxSelect
django.template.loader.get_template
models.Conment.objects.all
self.setup_request
self.user.has_perm
self.get_export_queryset
obj.delete
django.db.models.signals.post_migrate.connect
self.content_type.get_object_for_this_type
self.model.objects.get
request.method.lower
future.utils.iteritems
join
format_callback.append
self.get_resource_class
self.admin_view.get_form_params
inline.instance_form.save
attrs.get
self.BaseWidget.super.__init__
self._field_list_filters.append
self.detail.get_field_result
item.menus.extend
self.get_redirect_url
_inner_method
self.widget.value_from_datadict
django.http.QueryDict
self.get_related_versions.values
f.can_export
list_view.make_result_list
self.storage.get_step_data
xadmin.models.UserWidget.objects.get.get_value
self.has_model_perm
av.list_queryset.filter
django.contrib.auth.views.login
callback.str.self.admin_view.getattr
util.reverse_field_path
menu.find
self.get_change_form
xlwt.Workbook.add_sheet
av.results
callback
self.FieldFilter.super.get_context
self._registry_plugins.get
self.get_model_icon
self._get_theme
self.DetailAdminView.super.get_media
fields.insert
models.Tagprofile.objects.all
self.rel.get_related_field
self.ModelFormAdminView.super.get_context
functools.reduce
method.AGGREGATE_METHODS
list.extend
self.ChangePasswordView.super.get_context
opts.option_class.view_class.self.admin_site.get_view_class
self.ModelAdminView.super.get_context.get
self.delete_models
self.DeleteAdminView.super.get_context.update
cls.get_site_menu
self.storage.set_step_data
file_type.file_name.encode
self.ImportView.super.get_context
request.is_secure
list_view.result_headers
form_class
field.flatchoices.dict.get
list.values
clz_or_func
xadmin.models.UserWidget.objects.get.delete
attrs.update
self._format_value
InlineStyleManager.register_style
xstatic
django.db.migrations.CreateModel
list_display.append
remove_trailing_data_field
self.FormAdminView.super.get_context
django.contrib.admin.models.LogEntry.objects.log_action
self.get_model_view.do_action
params.update
self.protected.update
inline_class.InlineModelAdmin.GenericInlineModelAdmin.inline_class.getattr.self.admin_view.get_view.init.has_view_permission
django.template.Library.filter
token.contents.split
k.helper.wrap
o.strftime
db_field.get_choices
self.get_form_layout.get_field_names
self.get_plugins
self.instance_forms
django.utils.translation.ugettext_lazy
self.render_opt
self.ModelDetailPlugin.super.__init__
django.http.HttpResponseNotFound
ResultHeader
LOOKUP_SEP.join
export_format.int.formats.get_extension
self.RevisionListView.super.get_context
roots.extend
bases.insert
self.ListAdminView.super.get_ordering
list
self.get_model
django.db.models.ImageField
django.contrib.auth.authenticate
us.save
django.template.engine.Engine.get_default
inline_class.InlineModelAdmin.GenericInlineModelAdmin.inline_class.getattr.self.admin_view.get_view.init.has_change_permission
models.Blog.objects.get
dict
django.core.exceptions.ImproperlyConfigured
django.utils.encoding.force_unicode
self.UserAdmin.super.get_model_form
self.admin_view.get_field_result
self.ResetPasswordCompleteView.super.get_context
cls.has_model_perm
cls.has_delete_permission
self.vendor
path.split
view
User.objects.get
list.update
type
self.opts.verbose_name.encode

@developer
Could please help me check this issue?
May I pull a request to fix it?
Thank you very much.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.