感谢大神铖铖的花嫁的博客指导:从零开始的Django框架入门到实战教程(内含实战实例) - 01 创建项目与app、加入静态文件、模板语法介绍(学习笔记)_django实例教程-CSDN博客
下面是我的自己整理和补充的:
一、先建立一个django文件和自己的项目application01
1.在当前目录下建一个django项目
mkdir django
cd django
2.Python 的 Scripts
目录未添加到系统的 PATH 中并建立一个first_try的django项目,主类,配置文件等都在这里。
python -m django startproject first_try
4.建立自己工程项目,可以单独建立一个文件夹application01
cd first_try
python manage.py startapp application01
二、开始在自己的项目里面进行操作,快速入手
上面已经建立了自己的项目,django是一个管理后端的,所以我么先写一个简单的页面交给django
1.在settings.py中找到 INSTALLED_APPS,加入app的config。这里是加入配置文件。
2.然后在views.py里面编写逻辑函数
比如:
from django.shortcuts import render
import requests
# Create your views here.
from django.http import HttpResponse
def index(request):
return HttpResponse(r'Hey man,U can do it!')
或者
def Clarknb(request):
return render(request,"Hello.html")
下面这个逻辑函数一看就知道需要一个Hello.html的文件。所以我们在主项目first_try下建立一个文件夹叫templates,请不要打错字,然后再去setting.py文件里面搜索TEMPLATES,把它整个替换成下面的
TEMPLATES = [ { "BACKEND": "django.template.backends.django.DjangoTemplates", "DIRS": [os.path.join(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", ], "builtins": ["django.templatetags.static"], }, }, ]
然后在templates文件夹里面建立一个Hello.html,内容如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>标题</title>
</head>
<body>
<div>
Hello,I love ymf.
</div>
</body>
</html>
还差最后一步,将页面配置地址,
打开urls.py文件,进行如下配置
from django.contrib import admin
from django.urls import path
from application01 import views
urlpatterns = [
path("admin/", admin.site.urls),
path('Index/',views.index),
path("hello/",views.Hello),
]
一切准备就绪,可以进行启动页面进行测试了。
3.python manage.py runserver 9211
然后就可以在主机中打开界面http://localhost:9211/index
http://localhost:9211/hello
4.到上面已经可以快速启动了,接下来讲一点别的
三、静态文件存放位置
静态文件,顾名思义就是静态的,不动的,一般由项目引用,比如数据,图片,css,js等
在自己的项目下引用,自己的项目是applications,而不是主项目first_try
进入自己的项目建立一个目录(文件夹)叫static,不出意料,建立文件夹之后就是配置文件夹地址,怕项目找不到
打开setting.py,搜索STATIC_URL,改成下面的
STATIC_URL = "static/"
1.修改完成后,就可以引入一张图片试一试
修改Hello.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>标题</title>
</head>
<body>
<div>
Hello,I love ymf.
<img src="https://zhujin-django.oss-cn-beijing.aliyuncs.com/ymf.jpg?Expires=1721920373&OSSAccessKeyId=TMP.3KdekQZYHYkyjZyJ8er26QEbUCsWiyWSkLV1LqSXgUMLDrQhgbtpAHL4RW6WHuyQj88rYXTjdVArqxJYsxXFFr87uyQccG&Signature=kkXjA8lCtTq%2B9Jb8WoJBi6UJAUU%3D" >
<img src='/static/img/1.jpg>
</div>
</body>
</html>
在static目录下,建立一个img文件夹,里面放入一张1.jpg图片,然后启动项目效果是肯定有的
2.介绍变量怎么引入
首先编写一个a.html,他需要别人给他变量由{}和{{}}括起来的都是变量
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="{% static 'js/jquery.js' %}" type="text/javascript"></script>
<script src="{% static 'plugins/bootstrap.min.js' %}" type="text/javascript"></script>
</head>
<body>
<div>I love ymf!!!</div>
<div>test1:<br>{{n1}}</div>
<div>{{n2}}</div>
<!-- 调用列表-->
<div><br>test2:<br>{{n2.0}}</div>
<div>{{n2.2}}</div>
<!-- 调用字典-->
<div>
<br>test3:<br>
{{n3.hyq}}<br>
{{n3.zlp}}
</div>
<!-- 列表的循环-->
<div><br>test4:</div>
<div>
{% for item in n2 %}
<span>{{item}}<br></span>
{% endfor %}
</div>
<!-- 字典的循环-->
<div><br>test5:</div>
<div>
{% for k,v in n3.items %}
<li>{{k}}={{v}}</li>
{% endfor %}
</div>
<div><br>test6:</div>
{% for item in n4 %}
<!-- 两种写法都可以-->
<!-- 写法1-->
{% for k,v in item.items %}
<li>{{k}}={{v}}</li>
{% endfor %}
<!-- 写法2-->
<!-- <li>{{item.zlp}}=>{{item.hyq}}</li>-->
<!-- <br>-->
{% endfor %}
<img src="{% static 'img/Olsen01.jpg' %}" alt="" style="width:100%">
</body>
</html>
它从view.py文件的逻辑函数提供
def a(request):
name1 = "Clark"
name2 = ["Olsen", "ClarkHu", "LLGreat"]
name3 = {"hyq": 1, "zlp": 2}
name4 = [{"hyq": 1, "zlp": 2},
{"hyq": 3, "zlp": 6},
{"hyq": 4, "zlp": 9}]
return render(request, "a.html", {"n1": name1, "n2": name2, "n3": name3, "n4": name4})
3.在使用 {% static %}
标签之前,首先需要在模板文件的顶部加载 static
模板标签库:
{% load static %}
:加载静态文件模板标签库。
{% static 'img/1.jpg' %}
:生成指向 img/1.jpg
静态文件的 URL。