Django各个文件的操作方式和使用步骤

1.Django程序目录

  • manage.py :对当前Django程序所有操作
  • settings.py : Django的配置文件
  • url.py : 路由系统
  • wsgi.py : 用于定义Django用socket

2.第一个Django请求

在这里插入图片描述

3.静态文件及其模板配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.Django创建程序步骤

  • 创建project

  • 配置:

    1)模板路径
    template目录:
    TEMPLATES = [
    {
    ‘BACKEND’: ‘django.template.backends.django.DjangoTemplates’,
    ‘DIRS’: [BASE_DIR / ‘templates’]
    ,
    ‘APP_DIRS’: True,
    ‘OPTIONS’: {
    ‘context_processors’: [
    ‘django.template.context_processors.debug’,
    ‘django.template.context_processors.request’,
    ‘django.contrib.auth.context_processors.auth’,
    ‘django.contrib.messages.context_processors.messages’,
    ],
    },
    },
    ]
    2)静态文件路径
    STATIC_URL = ‘/static/’
    STATICFILES_DIRS=(
    os.path.join(BASE_DIR,‘static’),
    )
    3)额外配置
    MIDDLEWARE = [
    ‘django.middleware.security.SecurityMiddleware’,
    ‘django.contrib.sessions.middleware.SessionMiddleware’,
    ‘django.middleware.common.CommonMiddleware’,
    #‘django.middleware.csrf.CsrfViewMiddleware’,
    ‘django.contrib.auth.middleware.AuthenticationMiddleware’,
    ‘django.contrib.messages.middleware.MessageMiddleware’,
    ‘django.middleware.clickjacking.XFrameOptionsMiddleware’,
    ]

  • 简单的登录
    url.py

    	from django.contrib import admin
    from django.urls import path
    from django.shortcuts import HttpResponse,render,redirect
    def login(request):
        '''
        处理用户请求,并返回内容
        :param request:用户请求相关的所有信息
        :return:
        '''
        #返回什么,页面上就会显示什么
        #return HttpResponse('<input type="text" />')
        #自动找到模板路径下的login.html文件,读取内容并返回给用户
        if request.method=='GET':
            return render(request,'login.html')
        else:
            #用户post提交的数据(请求体)
            u=request.POST.get('username')
            p=request.POST.get("password")
            if u=='root' and p=='123123':
                #登录成功重定向到...
                return redirect("/index/")
            else:
                #登录失败
                return render(request,'login.html',{'msg':'用户名或密码错误'})
    
    def index(request):
        return render(request,'index.html',{'name':'houshuoyan',
                                            'users':['ww','xx'],
                                            'user_dict':['aa','bb'],
                                            'user_dict_list':[
                                                {'id':1,'name':'hou','email':'111@163.com'},
                                                {'id':2,'name':'hou','email':'111@163.com'},
                                                {'id':3,'name':'hou','email':'111@163.com'}
                                            ]
                                            })
    urlpatterns = [
        path('login/', login),
        path('index/',index)
    ]
    

    login.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" href="/static/common.css">
    </head>
    <body>
    <h1>用户登录</h1>
        <form method="post" action="/login/">
            <input type="text" name="username"/>
            <br>
            <input type="text" name="password"/>
            <br>
            <input type="submit" value="登录">
            {{ msg }}
        </form>
    </body>
    </html>
    

    index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" href="/static/common.css">
    </head>
    <body>
        <h1>模板标记的学习</h1>
        <p>{{ name }}</p>
        <p>{{ users.0 }}</p>
        <p>{{ users.1 }}</p>
        <p>{{ user_dict.0 }}</p>
        <p>{{ user_dict.1 }}</p>
        <h3>循环</h3>
        {% for item in users %}
            {{ item }}
        {% endfor %}
        <h3>循环</h3>
        <table border="1">
        {% for user in user_dict_list %}
            <tr>
                <td>{{ user.id }}</td>
                <td>{{ user.name }}</td>
                <td>{{ user.email }}</td>
                <td>修改 删除</td>
            </tr>
        {% endfor %}
        </table>
    </body>
    </html>
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值