目录结构
- cmdb(项目目录)
| - settings.py(配置文件)
| - urls.py(路由文件)
- host(功能目录1)
| - models.py
| - views.py
- user(功能目录2)
| - models.py
| - views.py
- mainpage(功能目录3)
| - models.py
| - views.py(函数文件,通过路由调用,处理后返回页面)
- static(静态资源目录)
| - bootstrap
| - css
| - js
| - img
- templates(存放html文件)
| - index.html
| - login.html
| - ...
- manage.py
前端页面相关
调用顺序
浏览器访问- > urls.py(路由系统) - >意见模块(找到页面并返回) - > HTML文件(templates目录下)
相关文件
settings.py 配置文件
数据库相关
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
INSTALLED_APPS = [
..
..
'user.apps.UserConfig',
'hosts',
'mainpage',
]
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
urls.py 路由系统
"""
获取url, 经过路由匹配, 调用相应app下的views模块
"""
from mainpage import views as mainpage
urlpatterns = [
url(r'index/', mainpage.index)
]
views.py
"""
通过路由调用, 处理后, 返回页面
"""
def index(request):
print(request.method)
print(request.path_info)
return render(request, 'index.html')
index.html
<h1>这是主页</h1>
ORM 配置 & 数据库操作
django操作数据库
相关文件
settings.py
DATABASES = {
'default':{
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DB_NAME',
'HOST': 'DB_IP',
'PORT': DB_PORT,
'USER': 'DB_USER',
'PASSWORD': 'DB_PWD',
}
}
__init__.py
项目下__init__.py文件
import pymysql
pymysql.install_as_MySQLdb()
models.py
class Person(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=32)
操作数据表
python manage.py makemigrations
python manage.py migrate