前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >广告小程序后端开发(3.xadmin的引入)

广告小程序后端开发(3.xadmin的引入)

作者头像
玩蛇的胖纸
发布2019-05-14 10:20:12
4570
发布2019-05-14 10:20:12
举报

1.引入xadmin

1.可以兼容django2.0的xadmin我上传到我的网盘里了:

代码语言:javascript
复制
链接: https://pan.baidu.com/s/1NZvPTeHDemXPPw-Ib-VeCQ 提取码: q2pp 

2.将xadmin拖入项目的extra_apps目录下:

3.安装依赖包:

代码语言:javascript
复制
pip install django-crispy-forms django-reversion django-formtools future httplib2 six django-import-export
pip install xlwt xlsxwriter

4.在settings.py中注册:

代码语言:javascript
复制
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'users.apps.UsersConfig',
    'ad.apps.AdConfig',
    'trade.apps.TradeConfig',
    'user_operation.apps.UserOperationConfig',
    
    'crispy_forms',
    'xadmin'
]

5.执行数据更新命令,生成xadmin默认的表:

代码语言:javascript
复制
python manage.py makemigrations
python manage.py migrate

6.在gg/urls.py中配置xadmin路由:

代码语言:javascript
复制
from django.contrib import admin
from django.urls import path
from django.views.static import serve
from gg.settings import MEDIA_ROOT

import xadmin

urlpatterns = [
    #path('admin/', admin.site.urls),
    path('media/<path:path>',serve,{'document_root':MEDIA_ROOT}),
    path('xadmin/', xadmin.site.urls),
]

7.新建超级用户:

代码语言:javascript
复制
python manage.py createsuperuser
Username: root
Email address: 760680498@qq.com
Password:
Password (again):
#Superuser created successfully.

 创建完毕,启动项目,然后访问

代码语言:javascript
复制
http://127.0.0.1:8000/xadmin/

就可以登录xadmin后台了,但是此时后台还是英文的。

2.将后台语言换成中文

1.在settings中修改:

代码语言:javascript
复制
LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True

USE_L10N = True

USE_TZ = False

2.在每个app下的apps.py中做修改,加上verbose_name

1.在apps/users/apps.py中:

代码语言:javascript
复制
from django.apps import AppConfig


class UsersConfig(AppConfig):
    name = 'users'
    verbose_name = '用户'

2.在apps/ad/apps.py中:

代码语言:javascript
复制
from django.apps import AppConfig


class AdConfig(AppConfig):
    name = 'ad'
    verbose_name = '广告和店铺'

3.在apps/trade/apps.py中:

代码语言:javascript
复制
from django.apps import AppConfig


class TradeConfig(AppConfig):
    name = 'trade'
    verbose_name = '交易'

4.在apps/user_operation/apps.py中:

代码语言:javascript
复制
from django.apps import AppConfig


class UserOperationConfig(AppConfig):
    name = 'user_operation'
    verbose_name = '用户操作'

3.在每个app下新建adminx.py

1.在apps/users目录下新建adminx.py:

代码语言:javascript
复制
import xadmin
from xadmin import views
from .models import UserProfile,Area


class BaseSetting(object):
    enable_themes = True
    use_bootswatch = True


class GlobalSettings(object):
    site_title = "今日同城小广告"
    site_footer = "落忆科技网络有限责任公司"
    # menu_style = "accordion"


class UserProfileAdmin(object):
    list_display = ["username","is_active","nickName","gender" ,"city", "jifen","yongjin","fensi_num"]
    list_filter = ["username","nickName","avatarUrl" ,"open_id", "token","gender","city" ,"longitude","latitude","jifen","yongjin","fensi_num"]
    search_fields = ["username","nickName","gender" ,"city", "jifen","yongjin","fensi_num"]


class AreaAdmin(object):
    list_display = ["num", "name", "category_type", "parent_category", "add_time"]
    list_filter = ["num", "name", "category_type", "parent_category", "add_time"]
    search_fields = ["num", "name", "category_type", "parent_category"]


# 先注销模块,再注册
xadmin.site.unregister(UserProfile)
xadmin.site.register(UserProfile, UserProfileAdmin)

xadmin.site.register(Area, AreaAdmin)
xadmin.site.register(views.BaseAdminView, BaseSetting)
xadmin.site.register(views.CommAdminView, GlobalSettings)

注意:在UserProfileAdmin中不能加时间字段,不然会报错。

2.在apps/ad目录下新建adminx.py:

代码语言:javascript
复制
import xadmin
from .models import Category,Good,Prize,Images


class CategoryAdmin(object):
    list_display = ["name", "category_type", "parent_category", "is_tab", "add_time"]
    list_filter = ["name", "category_type", "parent_category", "is_tab", "add_time"]
    search_fields = ["name", "category_type", "parent_category", "is_tab"]


class GoodAdmin(object):
    list_display = ["stage","type","title", "desc", "address", "mobile", "pv","category","area","user","image_url","add_time"]
    list_filter = ["stage","title", "desc", "address", "mobile", "pv","category","area","user","type","add_time"]
    search_fields = ["stage","title", "desc", "address", "mobile", "pv","category","area","user","type"]


class PrizeAdmin(object):
    list_display = ["title", "get_num", "price", "all_num", "desc","usage","end_time","image_url","add_time"]
    list_filter = ["title", "get_num", "price", "all_num", "desc","usage","end_time","add_time"]
    search_fields = ["title", "get_num", "price", "all_num", "desc","usage"]


class ImagesAdmin(object):
    list_display = ["is_banner", "good", "image_url", "add_time"]
    list_filter = ["is_banner", "good","add_time"]
    search_fields = ["is_banner", "good"]


xadmin.site.register(Category, CategoryAdmin)
xadmin.site.register(Good, GoodAdmin)
xadmin.site.register(Prize, PrizeAdmin)
xadmin.site.register(Images, ImagesAdmin)

3.在apps/trade目录下新建adminx.py:

代码语言:javascript
复制
import xadmin
from .models import Price,Order,ShoppingCar


class PriceAdmin(object):
    list_display = ["top_type", "price", "fanwei", "days", "add_time"]
    list_filter = ["top_type", "price", "fanwei", "days", "add_time"]
    search_fields = ["top_type", "price", "fanwei", "days"]


class OrderAdmin(object):
    list_display = ["user", "order_sn", "pay_status", "trade_no", "order_mount","pay_time","add_time"]
    list_filter = ["user", "order_sn", "pay_status", "trade_no", "order_mount","pay_time","add_time"]
    search_fields = ["user", "order_sn", "pay_status", "trade_no", "order_mount"]


class ShoppingCarAdmin(object):
    list_display = ["user", "order", "top_good", "goods_num", "price","add_time"]
    list_filter = ["user", "order", "top_good", "goods_num", "price","add_time"]
    search_fields = ["user", "order", "top_good", "goods_num", "price"]


xadmin.site.register(Price, PriceAdmin)
xadmin.site.register(Order, OrderAdmin)
xadmin.site.register(ShoppingCar, ShoppingCarAdmin)

4.在apps/user_operation目录下新建adminx.py:

代码语言:javascript
复制
import xadmin
from .models import Message,GetPrize,UserAdress,Fans,MakeMoney,GetCash


class MessageAdmin(object):
    list_display = ["user", "content", "is_read", "add_time"]
    list_filter = ["user", "content", "is_read", "add_time"]
    search_fields = ["user", "content", "is_read"]


class GetPrizeAdmin(object):
    list_display = ["user", "prize", "status", "add_time"]
    list_filter = ["user", "prize", "status", "add_time"]
    search_fields = ["user", "prize", "status"]


class UserAdressAdmin(object):
    list_display = ["user", "address", "phone", "name","add_time"]
    list_filter = ["user", "address", "phone", "name","add_time"]
    search_fields = ["user", "address", "phone", "name"]


class FansAdmin(object):
    list_display = ["user", "fans", "add_time"]
    list_filter = ["user", "fans", "add_time"]
    search_fields = ["user", "fans"]


class MakeMoneyAdmin(object):
    list_display = ["user", "fans","money","add_time"]
    list_filter = ["user", "fans","money","add_time"]
    search_fields = ["user", "fans","money"]


class GetCashAdmin(object):
    list_display = ["user","money","add_time"]
    list_filter = ["user","money","add_time"]
    search_fields = ["user","money"]


xadmin.site.register(Message, MessageAdmin)
xadmin.site.register(GetPrize, GetPrizeAdmin)
xadmin.site.register(UserAdress, UserAdressAdmin)
xadmin.site.register(Fans, FansAdmin)
xadmin.site.register(MakeMoney, MakeMoneyAdmin)
xadmin.site.register(GetCash, GetCashAdmin)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.引入xadmin
  • 2.将后台语言换成中文
    • 1.在settings中修改:
      • 2.在每个app下的apps.py中做修改,加上verbose_name
      • 3.在每个app下新建adminx.py
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档