基於django快速開發一個網站(二)


基於django快速開發一個網站(二)

* 使用xadmin+django構建一個后台

安裝

我的系統基於django==2.0.0開發的,所以直接從源碼安裝

$ pip install git+git://github.com/sshwsfc/xadmin.git@django2

配置

在 settings.py 中注冊相應庫

INSTALLED_APPS = [
    ...
    'xadmin',
    'crispy_forms',
    'reversion',
]

添加 url 規則

from django.urls import path
import xadmin
xadmin.autodiscover()
# version模塊自動注冊需要版本控制的 Model
from xadmin.plugins import xversion
xversion.register_models()

urlpatterns = [
    # 將原先的 admin.site.urls 替換為以下
    path('admin/', xadmin.site.urls),
]

登陸

╰$ python3 manage.py runserver 127.0.0.1:8001

登錄 127.0.0.1:8001/admin

 

 簡單定制

注冊 models

# 數據模型
# users/models.py
from django.db import models

# Create your models here.
class User(models.Model):
    nickname = models.CharField(max_length=50, blank=True)
    email = models.EmailField(('email address'), blank=True, unique=True)

    def __str__(self):
        return self.nickname
```

```python
# users/admin.py
import xadmin
from .models import User

# Register your models here.
class UserAdmin(object):
    # 在列表中顯示 nickname email 兩個字段
    list_display = ['nickname', 'email']

xadmin.site.register(User, UserAdmin)

修改左側菜單欄中欄目

# users/apps.py

from django.apps import AppConfig

class UsersConfig(AppConfig):
    name = 'users'
    # verbose_name 為菜單欄目名字
    verbose_name = '用戶'
```
```python
# users/__init__.py
default_app_config='users.apps.UsersConfig'

* 修改頁面 title footer header

# users/admin.py
import xadmin
from .models import User
from xadmin import views

# Register your models here.
class UserAdmin(object):
    list_display = ['nickname', 'email']

class GlobalSetting(object):
    site_title = '雨夜的博客'
    site_header = '雨夜的博客'
    site_footer = '雨夜的博客'

xadmin.site.register(User, UserAdmin)
xadmin.site.register(views.CommAdminView, GlobalSetting)

* 添加搜索、過濾器

 # users/admin.py

class UserAdmin(object):
    list_display = ['nickname', 'email']
    # 根據 nickname 字段 搜索
    search_fields = ['nickname']
    list_filter = ['nickname']

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM