搭建环境
来源:互联网 发布:淘宝店铺类型 编辑:程序博客网 时间:2024/05/21 21:42
Django仿天猫项目
一、 创建虚拟环境
- python版本:python3
- windows下python虚拟环境管理工具virtualenv & virtualenvwrapper
mkvirtualenv django_tmallworkon django_tmall
二、 下载并安装xadmin
xadmin的安装文档: https://xadmin.readthedocs.io/en/latest/quickstart.html
有两种安装方式,这里选择源码安装:
下载xadmin
# git clone 方式下载git clone git@github.com:sshwsfc/django-xadmin# 解压并进入目录# 安装需要的包pip install -r requirements.txt
requirements.txt中的包有:
django~=1.9.0django-crispy-forms~=1.6.0django-reversion~=2.0.0django-formtools==1.0future==0.15.2httplib2==0.9.2six==1.10.0
所以项目的Django版本是1.9.13
创建项目所需的mysql数据库
数据库名: django_tmall为本项目创建一个用户,用户名:djangotmall用户密码:djangotmall321权限:该用户拥有对django_tmall数据库的所有权限
三、 创建Django项目
- 使用Pycharm创建Django项目,并指定上面步骤创建的虚拟环境
- 新建apps, extra_apps, media, static 等文件夹,并在 apps, extra_apps下添加init.py空文件
- 将xadmin源码复制到extra_apps下
修改settings.py
import sysos.path.join(BASE_DIR, ...)BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))# 将apps和extra_apps添加Django的路径中sys.path.insert(0, os.path.join(BASE_DIR,'apps'))sys.path.insert(0, os.path.join(BASE_DIR,'extra_apps'))# INSTALLED_APPS中添加xadminINSTALLED_APPS = [ …… 'xadmin', 'crispy_forms', 'reversion',]# 将修改数据库配置,改为mysqlDATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': "django_tmall", 'USER': 'djangotmall', 'PASSWORD': "djangotmall321", 'HOST': "127.0.0.1" }}# 系统语言配置,改为中文LANGUAGE_CODE = 'zh-hans'TIME_ZONE = 'Asia/Shanghai'# 添加资源路径STATIC_URL = '/static/'STATIC_ROOT = os.path.join(BASE_DIR, 'static')MEDIA_URL = '/media/'MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
安装mysql驱动
pip install pymysql
在项目settings.py同目录下的init.py中添加
import pymysqlpymysql.install_as_MySQLdb()
- 迁移数据库
python manage.py makemigrationspython manage.py migrate
- 创建超级用户
python manage.py createsuperuser
- 项目创建成功,访问: http://127.0.0.1:8000/xadmin/
遇到的问题
我最开始安装的Django的版本是1.10,用该版本创建的Django的settings.py中
而后来pip install -r requirements.txt 安装xadmin的requirements后的Django的版本变为了1.9.13,而Django1.9~及之前的版本settings.py中应该是这样
由于版本变动的问题,没有改正MIDDLEWARE_CLASSES,所以访问http://127.0.0.1:8000/xadmin/ 的时候报下面的异常:
AttributeError: ‘WSGIRequest’ object has no attribute ‘user’
Internal Server Error: /xadmin/Traceback (most recent call last): File "E:\Envs\django_tmall\lib\site-packages\django\core\handlers\base.py", line 149, in get_response response = self.process_exception_by_middleware(e, request) File "E:\Envs\django_tmall\lib\site-packages\django\core\handlers\base.py", line 147, in get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "E:\小旋锋的文件\大三下-课程\django仿天猫\django_tmall\extra_apps\xadmin\sites.py", line 300, in wrapper return self.admin_view(view, cacheable)(*args, **kwargs) File "E:\Envs\django_tmall\lib\site-packages\django\views\decorators\cache.py", line 57, in _wrapped_view_func response = view_func(request, *args, **kwargs) File "E:\小旋锋的文件\大三下-课程\django仿天猫\django_tmall\extra_apps\xadmin\sites.py", line 206, in inner if not self.has_permission(request) and getattr(view, 'need_site_permission', True): File "E:\小旋锋的文件\大三下-课程\django仿天猫\django_tmall\extra_apps\xadmin\sites.py", line 161, in has_permission return request.user.is_active and request.user.is_staffAttributeError: 'WSGIRequest' object has no attribute 'user'[01/Jul/2017 19:06:09] "GET /xadmin/ HTTP/1.1" 500 78215
把settings.py中的MIDDLEWARE改为MIDDLEWARE_CLASSES即可正常访问
阅读全文
0 0
- 环境搭建
- 搭建环境
- 环境搭建
- 搭建环境
- 环境搭建
- 搭建环境
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- 环境搭建
- <函数式swift>读书笔记之Trie结构
- listView在添加了headerView后的点击事件解析
- Java总结篇系列:Java泛型
- HDU 2266 How Many Equations Can You Find (技巧性dfs)
- 最优化问题-线性优化(LP)
- 搭建环境
- Python3网络爬虫(一):利用urllib进行简单的网页抓取
- 一站式学习Wireshark(四):网络性能排查之TCP重传与重复ACK
- POJ 2253 Frogger(最长边最短路)
- 2017暑假七林集训day12
- PXE方式安装系统
- 【Bzoj3732】Network
- struts2中出现There is no Action mapped for namespace / and action name .
- 《objective-c基础编程》读书笔记