django-salmonella已被重命名为django-dynamic-raw-id!这是一个原始ID字段小部件的替代品,用于处理对象字符串值的变化,并且可以通过模板进行覆盖。
项目描述
django-salmonella
A Django admin raw_id_fields widget replacement that handles display of an object’s string value on change and can be overridden via a template. See this example
安装
使用pip安装包
$ pip install django-salmonella
将salmonella添加到您的INSTALLED_APPS列表中
INSTALLED_APPS = ( # ... other apps 'salmonella', )
并添加url模式
urlpatterns = [ # ... url(r'^admin/salmonella/', include('salmonella.urls')), ]
salmonella附带一些静态文件,所以别忘了运行manage.py collectstatic。
使用
要在您的应用程序中使用django-salmonella,您需要做的就是在您的ModelAdmin类中实现SalmonellaMixin,并将所需的字段添加到salmonella_fields列表中
from salmonella.admin import SalmonellaMixin class UserProfileAdmin(SalmonellaMixin, admin.ModelAdmin): salmonella_fields = ('user',)
您还可以在Admin过滤器中使用Salmonella小部件
from salmonella.admin import SalmonellaMixin from salmonella.filters import SalmonellaFilter class UserProfileAdmin(SalmonellaMixin, admin.ModelAdmin): list_filter = ( ('salmonella_fk', SalmonellaFilter), )
自定义动态小部件的值
django-salmonella最酷的特性是可以自定义与SalmonellaIdWidget一起显示的值输出。如果您只想显示对象的__unicode__值,有一个基本实现。要更改显示的值,只需实现正确的模板。
Django-salmonella会查找以下模板结构salmonella/<app>/<model>.html和salmonella/<app>/multi_<model>.html(用于多值查找)。
例如,如果我有一个带有用户Salmonella字段的博客文章,我想要以Firstname Lastname的形式显示,我会在salmonella/auth/user.html中创建模板。
<span>{{ object.0.first_name }} {{ object.0.last_name }}</span>
自定义管理URL前缀
如果您将管理器(以及 Salmonella脚本)放在除/admin/salmonella/之外的其他前缀上,您需要调整SALMONELLA_MOUNT_URL JS变量。
示例
# In case the script is setup at /foobar/salmonella/ url(r'^foobar/salmonella/', include('salmonella.urls')), # Provide a <script> window.SALMONELLA_MOUNT_URL = "{% url "admin:index" %}"; </script>
一个理想的位置是admin base_site.html模板。完整示例
{% extends "admin/base.html" %} {% block title %}{{ title }} | {{ site_title|default:_('Django site admin') }}{% endblock %} {% block extrahead %} {{ block.super }} <script> window.SALMONELLA_MOUNT_URL = "{% url "admin:index" %}"; </script> {% endblock %} {% block branding %} <h1 id="site-name"><a href="{% url 'admin:index' %}">{{ site_header|default:_('Django administration') }}</a></h1> {% endblock %} {% block nav-global %}{% endblock %}
测试和本地开发
使用以下命令在本地环境中运行测试套件:
$ cd django-salmonella/ $ pipenv install --dev $ pipenv run python ./runtests.py
或使用tox测试各种Django和Python版本
$ tox -r
您还可以通过使用带测试应用设置的django-admin工具来调用测试套件或其他“manage.py”命令
$ cd django-salmonella/ $ pipenv install --dev $ pipenv run django-admin $ pipenv run django-admin test
这还允许您在测试服务器上运行内部测试应用,以预览django-salmonella的功能样本
$ pipenv run django-admin migrate $ pipenv run django-admin createsuperuser $ pipenv run django-admin runserver
项目详情
哈希值 for django_salmonella-1.2.1-py2.py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9b78cee89903c73ff29131acbf6d7087a89c8f1662291f4882165c123883dbf4 |
|
MD5 | 086048dab44705b9e9402891009ce41f |
|
BLAKE2b-256 | 2aba00aa3c173a1e10bb5850236f20691a389671d7b565b953d3f0cbebe21691 |