1. 路由
# 路由就是访问的链接
# 子应用创建urls.py绑定子应用视图,
urlpatterns=[
path('home/',views.home,name="home"), # 路由不能以斜线 / 开头
]
# 主应用urls.py绑定子应用urls.py
urlpatterns = [
# path('', include('App.urls')), # 访问: ip:端口 /home/
path('blog/', include('App.urls')), # 访问: ip:端口 /blog/home/
]
2. 模板
# 模板就是前端页面
# 1. 主应用settings.py配置模板路径
TEMPLATES = [
{'DIRS': [os.path.join(BASE_DIR,'templates')],}]
# 2. 根目录新建文件夹 templates 放置HTML文件(index.html)
<body>
Hello,{{ name }}
</body>
# 3. 视图函数中关联html文件
def home(request):
q={"title":"Django","name":"中国"}
return render(request,"index.html",context=q)
3. 模型
# 模型就是数据库创建表
# 1. 子应用models.py创建模型
from django.db import models
class User(models.Model):
username = models.CharField(max_length=20)
password = models.CharField(max_length=128)
class Meta:
db_table = "user" # 指定表名
'''
python manage.py makemigrations # 生成数据库迁移文件
python manage.py migrate # 生成数据库表
python manage.py shell # 命令行调试
python manage.py inspectdb > App/models1.py # 反向迁移
'''
# 2. 视图函数中调用模型
def home(request):
# 查询数据库
users = User.objects.all()
return render(request,"index.html",context={"users":users})
# 3. html中引用后端返回的数据
<body>
{% for user in users %}
<li>{{ user.username }}</li>
{% endfor %}
</body>