由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理。最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧。

好了,话不多说,下面开始进入正题:

环境需求:

笔者的工作系统环境:Mac 10.13.4+Python3.6.x+Django2.0.x+Xadmin2.0

因此本系列教程均是以此组合为基础展开讲解。其他系统版本也基本适用,有小部分不兼容之处请自行测试。

一、Django及xadmin安装

可以使用pip命令进行安装,或者直接下载安装包用python命令安装:

pip3 install Django

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

由于xadmin2.0官方版本存在一些兼容性bug,笔者对其源码进行了部分改动

在装完官方版的Django和xadmin之后,将笔者的xadmin修复版本替换到xadmin的原安装目录下即可。

更详细安装过程不再赘述,要细说的话得花一整天时间。

二、使用Pycharm创建项目

1、打开pycharm,第一次创建项目,我们就选择create new project

2、按图上的顺序配置好,Location及Application name可以根据自己需要自定义,项目解析器笔者此处选择了系统环境路径。全部设置好之后创建项目。

3、创建好的项目长得是这个样子的

4、点右上角的绿色启动箭头,OK,我们的项目已经正常跑起来了。

同时,我们也可以在项目目录下,执行命令来运行项目

python3 manage.py runserver 0.0.0.0:

万里长征迈出了胜利的第一步,接下来要来嫁接xadmin。

三、 改造Django项目,适配xadmin

1、首先,看看项目的结构

manage.py是网站的启动文件,一般不需要改动。

demo文件夹是网站配置文件夹,我们需要操作的文件主要有:settings.py和urls.py

settings.py是网站的主要配置文件

urls.py是路由文件

app文件夹是创建项目时默认创建的模块,主要的开发在这里。

2、下面开始着手改造,先来修改url.py

# from django.contrib import admin

import xadmin

from django.urls import path

from django.conf import settings

from django.conf.urls.static import static

urlpatterns = [

# path('admin/', admin.site.urls),

path(r'', xadmin.site.urls),

]

3、接着是修改settings.py,将127.0.0.1加入白名单

ALLOWED_HOSTS = ['127.0.0.1']

4、修改INSTALLED_APPS,加入xadmin相关组件

在最上面加入app.apps.AppConfig,接着添加xadmin及crispy_forms

INSTALLED_APPS = [

'app.apps.AppConfig',

'xadmin',

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'crispy_forms',

]

5、这样,我们便能够让xadmin项目跑起来了。试试看

点击登录,会发现报了一个错

上面的提示是,没有用户表。原来,我们还没有对数据库进行初始化。

6、初始化数据库

项目创建好时默认的是使用sqlite3数据库,我们也可以指定它使用MySQL数据库,修改 DATABASES

DATABASES = {

'default': {

# 'ENGINE': 'django.db.backends.sqlite3',

# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),

'ENGINE': 'django.db.backends.mysql', # 数据库引擎

'NAME': 'demo',

'USER': 'root',

'PASSWORD': '',

'HOST': '127.0.0.1',

'PORT': '',

'OPTIONS': {

'init_command': "SET sql_mode='STRICT_TRANS_TABLES';" # 初始化数据库的命令

}

}

}

运行数据库迁移命令

python3 manage.py migrate

7、此外,我们还要建立一个超级管理员帐号,设置好帐号密码邮箱信息

python3 manage.py createsuperuser

8、好了,万事具备,下面可以顺利的进入管理界面了

9、现在这个界面是英文的,看起来是不是有点不太习惯呢?下面我们就要让它显示中文。

在settings.py文件开头添加一行代码

from django.utils.translation import ugettext_lazy as _

修改 LANGUAGE_CODE 和 LANGUAGES

LANGUAGE_CODE = 'zh-hans'

LANGUAGES = [

('en', _('English')),

('zh-hans', _('Simplified Chinese')),

('zh-hant', _('Traditional Chinese')),

]

10、重新运行一下,OK,我们熟悉的中文界面呈现在眼前。

好了,不早了,该下班回家了。 下一节,我们将创建模型。

跨平台移动开发phonegap/cordova 3.3全系列教程-开发环境搭建

操作系统:windwos xp 1.   安装JDK 打开如下网站下载JDK http://www.oracle.com/technetwork/java/javase/downloads/index ...

Django2.1,Xadmin2.0下的问题记录

此篇博文长期更新…… 环境: Ubuntu18.04, Python3.6, Django2.1, Xadmin2.0 1. Xadmin添加用户小组件时报错:xadmin render() got ...

【全网最全的博客美化系列教程】01.添加Github项目链接

全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...

[大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world

[大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world 原文链接:http://www.cnblogs.com/blog5277/ ...

QT5.6.0 VS2013 Win764位系统QT环境搭建过程

QT5.6.0 VS2013 Win764位系统QT环境搭建过程 没用过QT自己跟同事要了安装包,按照同事指导方法操作安装部署开发环境结果遇到好多问题,错误网上搜遍了所有帖子也没有找到合适的解决方案. ...

【转】RHadoop实践系列之一:Hadoop环境搭建

RHadoop实践系列之一:Hadoop环境搭建 RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析.Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来 ...

MyBatis学习系列一之环境搭建

目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 学习一个新的知识,首先做一个简单的例子使用一下,然后再逐步深入.MyBat ...

MyBatis实例教程--开发环境搭建

MyBatis实例教程--开发环境搭建 准备工作: 1.mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包 ...

【Python3.6+Django2.0+Xadmin2.0系列教程之二】学生信息管理系统(入门篇)

上一篇我们已经创建好了一个Xadmin的基础项目,现在我们将在此基础上构建一个同样很基础的学生信息管理系统. 一.创建模型 模型是表示我们的数据库表或集合类,并且其中所述类的每个属性是表或集合的字段, ...

随机推荐

CentOS 7 网络配置

Virtual box 安装了CentOS 7最小模式后马上用ifconfig命令查看网络情况,发现该命令不存在. [root@centos1 ~]# ifconfig -bash: ifconfig ...

Swift学习笔记

swift 面向过程 数据结构 3.1 常量和变量 定义常量和变量 let a = 1 var b = 2 显式定义和隐式定义 无需指定强类型,编译器会自动根据初始值推断出其类型.与c#相似.如果在定 ...

Redis学习笔记(8)-发布/订阅

package cn.com; import java.util.List; import redis.clients.jedis.Jedis; public class Redis_PubSub { ...

定时器 corn 表达式

一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素.按顺序依次为1.秒(0~59)2.分钟(0~59)3.小时(0~23)4.天(月)(0~31,但是你需要考虑你月的天数)5.月(0~11 ...

网易云音乐 歌词制作软件 BesLyric

导读 哈哈,喜欢网易云音乐,又愁于制作歌词的童鞋有福啦! BesLyric 为你排忧解难! 上个周末在用网易云音乐听歌,发现一些喜欢的歌还没有滚动歌词,然而网易云音乐还没有自带的歌词编辑功能,要制作歌 ...

为什么 O2O 领域融资额特别高?

在36氪搜索“o2o”,融资额基本都是数千万乃至数亿,为什么这个领域的创业项目融资额如此之高?融到的钱一般用在什么地方? --------------------------------------- ...

BZOJ2738矩阵乘法——整体二分+二维树状数组

题目描述 给你一个N*N的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第K小数. 输入   第一行两个数N,Q,表示矩阵大小和询问组数:接下来N行N列一共N*N个数,表示这个矩阵:再接下来Q行每行5 ...

tomcat 配置 使用综合

[参考]Tomcat 7.0安装与配置 [参考]tomcat 控制台日志(startup.bat)输出到指定文件中 [参考]将Java web应用部署到Tomcat 及部署到Tomcat根目录 的三种 ...

ef报错:实体类型XXX不是当前上下文的模型的一部分。

可能原因:.net框架版本与实体框架版本不匹配,比如:.net框架版本为4.5.实体框架版本为6.2. 解决方法:将实体框架版本降到6.0.

3.7 C++派生类构造函数调用规则

参考:http://www.weixueyuan.net/view/6364.html 总结: 派生类构造函数可以自动调用基类的默认构造函数而无需显式调用. 生类构造函数可以自动调用基类的默认构造函数 ...

python3.6 django教程_【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建相关推荐

  1. 【Python3.6+Django2.0+Xadmin2.0系列教程之一(入门篇-上)】环境搭建及项目创建

    由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 转载请注明 ...

  2. Java web小项目_个人主页(1)—— 云环境搭建与项目部署

    摘自:Java web小项目_个人主页(1)-- 云环境搭建与项目部署 作者:丶PURSUING 发布时间: 2021-03-26 23:59:39 网址:https://blog.csdn.net/ ...

  3. 人类一败涂地做图教程_人类一败涂地-怎么制作地图-地图制作教程详细入门级...

    这是一份非常非常详细的地图制作教程,包括怎么下载,怎么导入,以及导入第三方地图,拖拽物体,以及物理碰撞等.希望可以给喜欢的朋友们一些参考和帮助. 一 .下载以及配置 1.下载 首先放上已经从官网拿的正 ...

  4. python制作pdf教程_学以致用:Python爬取廖大Python教程制作pdf!

    学以致用:Python爬取廖大Python教程制作pdf! python-tutorial-pdf 当我学了廖大的Python教程后,感觉总得做点什么,正好自己想随时查阅,于是就开始有了制作PDF这个 ...

  5. python web.py教程_如何用Python汇款:Web3.py教程

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. Python开发人员对于以太坊和区块链库的技术练习. 警告:下面的教程包含这些元素:显式加密.点对点金融服 ...

  6. python独立网站教程_python从零到独立建设网站系列教程之基础知识篇(二)

    python从零到独立建设网站系列教程之基础知识篇(二)python的安装在Windows上安装python点击Download链接 然后就是按导航走点击确认,需要注意的是要把python加入到系统变 ...

  7. python手机端编程环境_移动端自动化测试解决方案(Appium + Python) - (1) 环境搭建...

    最近对iOS自动化测试做了一番探究,希望通过自动化测试更好的去提高公司项目的测试效率 .在网上找了很多的文章和相关资料,都因为时间比较久导致无法实现基本环境的搭建,我在这儿分享给大家分享我的实现过程. ...

  8. 区块链 Hyperledger Composer 使用教程(环境搭建、项目开发 一)

    Hyperledger Composer使用教程 基本概念介绍 1. 欢迎来到Hyperledger作曲家 Hyperledger Composer是一个广泛的,开放的开发工具集和框架,可以使开发区块 ...

  9. android studio代码教程,史上最详细的Android Studio系列教程三

    Android Studio 1.0正式版发布啦 今天是个大日子,Android Studio 1.0 终于发布了正式版, 这对于Android开发者来说简直是喜大普奔的大消息啊,那么就果断来下载使用 ...

最新文章

  1. 如何理解HTTP协议是无状态的
  2. linux ext4 文件大小,[svc]为何linux ext4文件系统目录默认大小是4k?
  3. 解决mysql“Access denied for user root@localhost”
  4. SSH加密密码中的非对称式密码学
  5. 应用市场中包名(package name)的唯一性
  6. c语言程序前言,C语言 程序代码编写规范前言
  7. this关键字的使用案例
  8. hdu 6149 Valley Numer II(01背包套状压dp)
  9. .NET Framework 4.5的C#中的对话框消息
  10. python删除列表内容_python删除列表内容
  11. C++17 fold expression
  12. 免费可商用中文字体打包下载
  13. 铁道交通运营管理专业对计算机要求高吗,铁道交通运营管理就业前景怎么样
  14. 第一次C程序设计作业
  15. php echo eot,(基础篇)php中理解print EOT分界符和echo EOT的用法区别
  16. 操作系统原理,物理内存“扩充”技术,内存紧缩,覆盖,交换,虚拟内存思想
  17. web前端-纯前端音频剪辑,vue音频编辑组件
  18. lceberg、Hive不够用?开箱即用才是硬道理!
  19. Minimit Anima – 硬件加速的 CSS3 动画插件
  20. 威纶通屏幕(HMI)开发进阶教程四:通过PLC控制,使宏指令跳转到不同的窗口

热门文章

  1. 2017职称计算机303,2017职称计算机考试WPS_Office检测练习及答案3
  2. Excel 已死,爬虫已凉,数据分析称王!
  3. 如何做公众号SEO,公众号排名优化呢?
  4. hdu 6072 Logical Chain Kozaraju+bitset
  5. 常见分布式文件存储介绍、选型比较、以及架构设计
  6. Cadence Virtuoso 自定义快捷键
  7. React中使用react-websocket
  8. iOS 创建PDF文件
  9. python:sklearn标签编码(LabelEncoder)
  10. Windows 的redis 设置密码问题