Loading

Django学习笔记(一)

官方文档

一、基本操作

查看django版本(输出4.1)

$ python -m django --version

1.创建django项目

$ django-admin startproject mysite

创建生成文件如下,文件说明见:
文件详细介绍

django_test
│  db.sqlite3
│  manage.py
└─django_test
    │  asgi.py
    │  settings.py
    │  urls.py
    │  wsgi.py
    │  __init__.py
  1. 创建app
django-adamin startapp app1
  1. 注册app

创建app1,在app1/apps.py查看类名为App1Config,添加内容'app1.apps.App1Config'到settings下的INSTALLED_APPS

  1. 编写url和view
    在app下的views.py定义函数index
from django.shortcuts import render,HttpResponse
def index(request):
    return HttpResponse("欢迎使用")

在mysite/urls.py添加url

from app1 import views
urlpatterns = [
    # path('admin/', admin.site.urls),
    path('index/',views.index)]

启动django

python manage.py runserver
  1. 添加网页
    方法一:
    该方法django默认在app文件夹下寻找页面,
    且会根据app注册顺序逐个寻找,如果在app1中没有找到,则会在下一个app进行寻找,该方法的弊端是多个app中的html命名不能一样。
    在app1下创建templates/user_list.html
#app1/views.py
def usr_list(request):
    return render(request,"user_list.html")
# urls.py
urlpatterns = [
    # path('admin/', admin.site.urls),
    path('',views.index),
    path('user/list',views.usr_list)
]

方法二:
在settings.py更改配置。该方法设置优先去根目录的templates寻找网页,再去app下的templates逐个寻找。

import os
TEMPLATES = [
        'DIRS': [os.path.join(BASE_DIR,'templates')],
  1. html设置自动读取路径
# user_list.html
{% load static %}
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>用户列表</title>
</head>
<body>
<h1>用户列表 app</h1>
<img src="{%  static 'img/1.png' %}" alt="">
</body>
</html>

二、 模板语法

本质上:在html中写一些占位符,由数据对这些占位符进行替换和处理。

  1. view传递参数到模板(双花括号的使用、后端传值给前端)
    在app/views.py定义函数tpl
def tpl(request):
    #取单个字符串
    name="小明"
    #取列表中其中一个
    roles=['管理员','保安','CEO']
    return render(request,'tpl.html',{'n1':name,'n2':roles})

在tpl.html添加

<div>{{ n1 }}</div>
<div>{{ n2.0 }}</div>
<div>{{ n2.1 }}</div>

三、ORM

  1. 修改配置
settings.py

posted @ 2023-07-10 09:31  踩坑大王  阅读(15)  评论(0)    收藏  举报