项目快接近尾声了,不知道看到这一系列文章,对 python web 技术感兴趣,并且一直支持云团的小伙伴们,你们有怎样的收获?
从最开始创建项目,生成项目文件,再到业务逻辑的实现,遇到的坑和容易犯的错误,都有过总结么?也很希望小伙伴们能分享自己踩过的坑,解决问题的经验。
本项目有几个比较容易掉坑的地方,看看各位有遇到过没?
① 项目目录
可以看到下面这张图中,在 ihome 目录下,有两个被标红框的目录,apps 是项目应用存放的目录,比如电商中的用户模块、订单模块、商品模块、购物车模块。ihome 是项目的主目录。
在项目主目录的 settings.py 文件中,可以这样配置:
import sys
sys.path.insert(0, BASE_DIR)
sys.path.insert(0, os.path.join(BASE_DIR, "apps"))
这样配置的好处在于,可以直接在 settings.py 的 INSTALLED_APPS 中直接加入各个应用的目录名。
需要注意的是,如果使用 pycharm 创建新的应用,会在应用下默认生成 apps.py 文件。
② 语言和时间
由于创建的新项目,会默认美国时区,需要在 settings.py 文件中修改时区和语言显示中文。
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = True
③ 站点访问地址
在 settings.py 文件中的 ALLOWED_HOSTS 是配置允许被访问的地址。
“*” 表示不限制访问地址
ALLOWED_HOSTS = ["*"]
在运行项目,执行 python manage.py runserver 0:8000,表示本地地址:8000 端口,可以访问站点。
④ 配置数据库
新创建的项目会默认使用 sqlite3 作为数据存储。如果要配置 mysql 数据库,需要修改:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
# 数据库
'NAME': '',
# 用户名
'USER': '',
# 密码
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '3306'
}
}
⑤ 静态资源 static 和 media
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')