创建django工程详解、初始配置以及模板语言

创建Django工程

django-admin startproject [工程名称]

目录结构


创建django工程详解、初始配置以及模板语言_第1张图片
image.png

zhihu

  • zhihu # 对整个程序进行配置
    • init
    • settings # 配置文件
    • url # URL对应关系
    • wsgi # 遵循WSIG规范,uwsgi + nginx
  • manage.py # 管理Django程序:
    • python manage.py
    • python manage.py startapp xx
    • python manage.py makemigrations
    • python manage.py migrate

运行Django功能

python manage.py runserver 127.0.0.1:8001


创建app

python manage.py startapp cmdb
python manage.py startapp openstack

文件名 解释
migrations 目录,数据修改表结构时产生日志
admin Django为我们提供的后台管理
apps 配置当前app
models ORM,写指定的类 通过命令可以创建数据库结构
tests 单元测试
views 业务代码

配置模板的路径

TEMPLATES = [{'DIRS': [os.path.join(BASE_DIR, 'templates')],}]


配置静态目录

static 默认静态文件目录

STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static' ),)


settings.py

middlerware
注释csrf


定义路由规则

url.py
'login'-->函数名


定义视图函数

app下views.py

            def func(request):
                # request.method   GET / POST
                
                # http://127.0.0.1:8009/home?nid=123&name=alex
                # request.GET.get('',None)   # 获取请求发来的而数据
                
                # request.POST.get('',None)
                
                
                # return HttpResponse("字符串")
                # return render(request, "HTML模板的路径")
                # return redirect('/只能填URL')

模板渲染

特殊的模板语言

  • {{ 变量名 }}
def func(request):
    return render(request, "index.html", {'current_user': "alex"})
        
                    
index.html
                
                
                ..
                    
                        
{{current_user}}
====> 最后生成的字符串 ..
alex
  • For循环
def func(request):
return render
(request, "index.html", {'current_user': "alex", 'user_list': ['alex','eric']})


index.html


..

    
{{current_user}}
    {% for row in user_list %} {% if row == "alex" %}
  • {{ row }}
  • {% endif %} {% endfor %}
  • 索引
def func(request):
    return render(request, "index.html", {
                'current_user': "alex", 
                'user_list': ['alex','eric'], 
                'user_dict': {'k1': 'v1', 'k2': 'v2'}})

    
index.html


..
    
        
{{current_user}}
{{ user_list.1 }} {{ user_dict.k1 }} {{ user_dict.k2 }}
  • 条件
def func(request):
    return render(request, "index.html", {
                'current_user': "alex", 
                "age": 18,
                'user_list': ['alex','eric'], 
                'user_dict': {'k1': 'v1', 'k2': 'v2'}})

    
index.html


..
    
        
{{current_user}}
{{ user_list.1 }} {{ user_dict.k1 }} {{ user_dict.k2 }} {% if age %} 有年龄 {% if age > 16 %} 老男人 {% else %} 小鲜肉 {% endif %} {% else %} 无年龄 {% endif %}
  • 字典
USER_DICT = {
    'root1': 'toor1',
    'root2': 'toor2',
    'root3': 'toor3',
}

def index(request):
    return render(request, 'index.html', {'user_dict': USER_DICT})




    
    Title


    {{ user_dict.root1 }}

    
    {% for row in user_dict.items %}
  • {{ row }}
  • {% endfor %}
    {% for row in user_dict.keys %}
  • {{ row }}
  • {% endfor %}
    {% for row in user_dict.values %}
  • {{ row }}
  • {% endfor %}

你可能感兴趣的:(创建django工程详解、初始配置以及模板语言)