Merge pull request #8 from bg4hkq/master

django-1.10兼容
This commit is contained in:
zhuinfo
2017-05-02 09:38:47 +08:00
committed by GitHub
9 changed files with 89 additions and 17 deletions
View File
+4
View File
@@ -0,0 +1,4 @@
Django=1.10.6
PyMySQL=0.7.9
xlwt=1.0.0
xlrd=1.2.0
+65
View File
@@ -0,0 +1,65 @@
# Django-ERP
Django-ERP是一款基于Django开发的ERP管理软件,包含常用的销售管理、采购管理、库存管理、组织管理等,支持按项目归集费用,支持工作流审批,支持采购单、报价单的批量导入。
Forked from <a href="https://github.com/zhuinfo/Django-ERP">zhuinfo Django-ERP</a> 感谢他的付出。
# 安装指南
> 我的开发、测试环境是Python2.7的,所以这个文档大多数情况我默认会使用这个条件,有个别测试不到位的可能还需要慢慢完善。
请先确保您已安装了Python 2.7,并已配置好了数据库,本文档会略过这部分内容(理论上Django是可以支持MYSql、PGSQL、SQLite、Oracle等主流数据库的,但是建议不要嘬,用自己熟悉的数据库,因为数据是无价的。)
验证方法请通过python --version查看版本,以及数据库 确认用户名和密码是否登录正常
后续我争取不上requirements.txt,远期目标我个人是希望能做个dock镜像,并让它能慢慢顺着Python3和新版本的django平滑过渡上去。
## 数据库配置
数据库配置项在mis/settings.py文件中
在88-96行为Mysql数据库配置
```
DATABASES = {
'default': {
      'ENGINE': 'django.db.backends.mysql',#MYSQL类型数据库,Python会依赖MySQL的驱动器
      'HOST': 'localhost',#数据库主机地址
      'NAME': 'mis',#数据库名称
      'USER': 'root',#数据库用户名(建议不要加入root敢死队)
      'PASSWORD': 'root',#数据库密码
  }
}
```
## 克隆代码
> git clone https://github.com/bg4hkq/Django-ERP.git
## 导入数据库
> mysql -uroot -proot mis < Install/mis.sql
## 运行测试服务器
> python manage.py runserver
## 修改管理员账户密码
```
C:\Django-ERP>python manage.py changepassword admin
You have 3 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth.
Run 'python manage.py migrate' to apply them.
Changing password for user 'admin'
Password:
Password (again):
Password changed successfully for user 'admin'
C:\Django-ERP>
```
# 排错
## MYSQL驱动错误
```
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
```
出现No module named MySQLdb是django找不到MySQL驱动导致的问题,所以需要先安装一个数据库驱动。
+1 -1
View File
@@ -4,7 +4,7 @@ from django.forms import models
from django.forms import fields,TextInput,Textarea
from django.contrib import messages
from django.utils.translation import ugettext_lazy as _
from django.contrib.contenttypes.generic import GenericTabularInline
from django.contrib.contenttypes.admin import GenericTabularInline
from common import generic
from basedata.models import ValueList,ValueListItem,Address,Partner,BankAccount,Project,Measure,Material,Brand,\
Category,Warehouse,TechnicalParameterName,TechnicalParameterValue,Trade,ExpenseAccount,Employee,Family,Education,\
+1 -1
View File
@@ -2,5 +2,5 @@ from django.conf.urls import include, url,static
import basedata.views
urlpatterns = [
url(r"dataimport/(?P<object_id>\d+)/action", 'basedata.views.action_import'),
url(r"dataimport/(?P<object_id>\d+)/action", basedata.views.action_import),
]
+5 -5
View File
@@ -2,9 +2,9 @@ from django.conf.urls import include, url,static
import invent.views
urlpatterns = [
url(r"stockin/(?P<object_id>\d+)/cin", 'invent.views.action_in'),
url(r"initialinventory/(?P<object_id>\d+)/cin", 'invent.views.action_init'),
url(r"stockout/(?P<object_id>\d+)/out", 'invent.views.action_out'),
url(r"warereturn/(?P<object_id>\d+)/cin", 'invent.views.action_return'),
url(r"wareadjust/(?P<object_id>\d+)/adjust", 'invent.views.action_adjust'),
url(r"stockin/(?P<object_id>\d+)/cin", invent.views.action_in),
url(r"initialinventory/(?P<object_id>\d+)/cin", invent.views.action_init),
url(r"stockout/(?P<object_id>\d+)/out", invent.views.action_out),
url(r"warereturn/(?P<object_id>\d+)/cin", invent.views.action_return),
url(r"wareadjust/(?P<object_id>\d+)/adjust", invent.views.action_adjust),
]
+5
View File
@@ -1,3 +1,8 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import pymysql
pymysql.install_as_MySQLdb()
#解决mysql-python的历史遗留问题(Yuri_2017-04-29)
from django.contrib import admin
admin.site.site_header = 'Django-ERP'
+6 -8
View File
@@ -1,19 +1,17 @@
from django.conf.urls import include, url, static
from django.contrib import admin
from mis import settings
import workflow
import workflow.views
import invent.urls
import basedata.urls
import selfhelp.urls
import mis
import mis.views
urlpatterns = [
# Examples:
url(r'^$', 'mis.views.home'),
# url(r'^blog/', include('blog.urls')),
url(r"^admin/(?P<app>\w+)/(?P<model>\w+)/(?P<object_id>\d+)/start",'workflow.views.start'),
url(r"^admin/(?P<app>\w+)/(?P<model>\w+)/(?P<object_id>\d+)/approve/(?P<operation>\d+)",'workflow.views.approve'),
url(r"^admin/(?P<app>\w+)/(?P<model>\w+)/(?P<object_id>\d+)/restart/(?P<instance>\d+)",'workflow.views.restart'),
url(r'^$', mis.views.home),
url(r"^admin/(?P<app>\w+)/(?P<model>\w+)/(?P<object_id>\d+)/start", workflow.views.start),
url(r"^admin/(?P<app>\w+)/(?P<model>\w+)/(?P<object_id>\d+)/approve/(?P<operation>\d+)", workflow.views.approve),
url(r"^admin/(?P<app>\w+)/(?P<model>\w+)/(?P<object_id>\d+)/restart/(?P<instance>\d+)", workflow.views.restart),
url(r'^admin/', include(admin.site.urls)),
url(r'^admin/invent/', include(invent.urls)),
url(r'^admin/basedata/', include(basedata.urls)),
+1 -1
View File
@@ -2,5 +2,5 @@ from django.conf.urls import include, url,static
import selfhelp.views
urlpatterns = [
url(r"(?P<model>\w+)/(?P<object_id>\d+)/pay", 'selfhelp.views.pay_action'),
url(r"(?P<model>\w+)/(?P<object_id>\d+)/pay", selfhelp.views.pay_action),
]