django的基本使用

335 阅读3分钟

安装djongo 和 djongo安装好后的检查

默认安装的python路径

C:\Users\Administrator\AppData\Local\Programs\Python\Python38

有时我们可能在文件目录里边找不到 AppData文件,但是我们可以直接在文件地址窗口输入:C:\Users\Administrator\AppData 从而进入这个目录

使用pip

使用pip 安装django

pip是python的script目录下的文件,可以复制这个路径到环境变量,这样全局都可以使用。

django 是否安装成功,如果安装成功的话会在python目录的中的script目录下有:django-admin.exe

使用django创建项目

因为我们之前python下的script的目录变成了环境变量

安装django后会在script目录下有一个django-admin.exe 所以它也是全局变量,否则需要加上地址才能够使用这个命令。

命令:

django-admin  startproject 项目名称

创建成功会是如下目录:

django默认目录

manage.py 【项目的管理、启动项目、创建app 、数据管理】 几乎里边的东西都是不用改的

与项目同名的文件夹

--asgi.py 【接收网络请求】不要动

--wsgi.py 【接收网络请求】不要动

--urls.py 【URL和函数的关系】经常操作

--settings.py 【配置文件】 例如链接数据库

创建app

在项目下使用python命令创建一个app

项目下是manage.py统计目录

命令如下:
python manage.py startapp app名称

在创建的app里边,常用的文件是两个:

一个是 views.py 【里面写函数和urls.py的url是对应关系】

一个是models 是用来和数据库做交互操作的

注册app

第一步是 在项目文件setting.py 中 INSTALLED_APPS 属性中注册:

注册名字是 apps.py中的类名,所以是:app01.apps.App01Config

解释:app01是当前的app名字 ,apps 是类存放的文件,然后就是这个类名

第二步:

视图函数和路由的对应关系

视图函数是 views.py

路由配置是:urls.py

路由的配置代码是:

from app01 import  views

urlpatterns = [    path('admin/', admin.site.urls),    path("index/",views.index())]

视图写的函数是如下的:

def index():
    return  HttpResponse("欢迎光临");

运行django项目

python manage.py runserver

模板文件

默认的模板文件是在 当前的views.py 同级的templates目录里边。

def index(request): # 这里的参数是必须要有的
    return render(request,"index.html");

静态文件

静态文件是必须放入到static 这个目录下边的,也就是views.py 这个文件的同级目录会有一个static专门放静态文件的,放其他的会没有用的。

静态文件读取的路径:

<img src="/static/0.jpg" alt="">

引入静态文件:

在模板里边导入这个静态文件夹,然后在这个文件夹中展示文件夹的文件

引入加载的文件:        
{% load static %}
      


使用加载的文件:
<link rel="stylesheet" href="{% static 'index.css' %}">
        
        

模板跳转的链接地址:

action="/add_user/add_user_submit"

模板语法的使用:

模板语法:

传值,就是传值到模板中。

如下代码:

则在路由器中传入到模板的数据方式如下代码:

    _json={"name":"laohu","age":80,"sex":"男"}
    _number=100
    _json2=[1,2,3,4]
    return render(request,"index.html",{"number1":_number,"data":_json2,"data1":_json})

模板中使用如下:

        {{number1}}


        {% for item in data %}
            <span>{{item}}</span>
        {% endfor%}

        <!--如果是字典则通过. 来进行获取值-->
        {{data1.name}}

请求

获取用户提交的参数:

1,request.GET

2,request.POST.get("名字")

重定向:


重定向的使用:
redirect("xxx/yyy");//路由


记住:重定向是重定向路由,并且不需要request参数
 return redirect("/user");

django的链接跳转

在django里边链接是可以自由跳转的。

<!DOCTYPE html>
<html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
      .list{
        width: 200px;
        height: 250px;
        overflow: hidden;
        transform: rotate(120deg);
        margin: 200px;
      }
      .list_child{
        width: 100%;
        height: 100%;
        overflow: hidden;
        transform: rotate(-60deg);
      }
      .list_child_child{
	    width: 100%;
	    height: 100%;
	    overflow: hidden;
	    transform: rotate(-60deg);
	    background-color: red;
      }
    </style>
  </head>
  <body>
    <div class="list">
      <div class="list_child">
        <div class="list_child_child"></div>
      </div>
    </div>
  </body>
</html>