Django入门学习1
搭建web站点及业务框架
1 安装Django
方法:
1 终端输入命令: pip install django
2在python解释器中添加,步骤如下
如果遇到速度比较慢的状况,可以加入国内阿里云镜像站点来安装:
pip install -i https://mirrors.aliyun.com/pypi/simple django
2 创建了一个名为myblog的站点名
在总项目终端输入命令:django-admin startproject myblog
各文件的功能如下
3 创建业务模块
描述
打开book,查看目录下文件
4 测试web服务
运行结果
可以看到提示了测试web访问方式为:http://127.0.0.1:8000,此时可以在浏览器地址里输入该地址,出现火箭图标就表明请求成功:
打开网址----->
5 设定访问路由
先进入业务模块book,由于book目录里并无urls.py文件,需要先创建一个。然后在里面输入如下内容:
from django.urls import path #导入路径相关配置
from . import views #导入视图views
urlpatterns = [
path('', views.index,name="index"), #默认访问book业务的首页
]
下面我们在views视图文件里添加一下该函数名称:
from django.http import HttpResponse
def index(request):
msg="welcome to visit Dr.Cao's blog,2020!"
return HttpResponse(msg)
最后一步还需要回到核心子模块里的全局路由设定urls.py文件里,将业务模块添加进去:
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('book',include('book.urls')) #使用include函数,book.urls为业务模块里的urls包
]
上述代码中使用了include函数,在include函数里添加业务模块urls文件所在路径即可。如book.urls这是对象的使用方法,book为业务模块包,urls为该包里的对象,这是实际存在的。
经过这三步操作后,下面我们在浏览器地址上输入:http://127.0.0.1:8000/book,就可以看到页面上有显示设定的那句话
在book业务模块里再添加一层路径,即book业务的子页面,例如 http://127.0.0.1:8000/book/sell,如果想访问sell子页面,就需要在book模块的urls中设定就可以了:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index,name="index"),
path('/sell', views.sell,name="sell") #添加一个sell子页面路径,访问views里的sell函数
]
我们看到路径为views里的sell函数,此时我们回到book目录的views.py文件,添加一个sell函数内容如下:
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
msg="welcome to visit Dr.Cao's blog,2020!"
return HttpResponse(msg)
def sell(request): #增加的sell函数
msg="你在访问曹鉴华的售书页面"
return HttpResponse(msg) #返回字符串变量响应
保存后再到浏览器地址栏里访问,地址为:http://127.0.0.1:8000/book/sell,回车后浏览器显示如下:
6 访问HTML页面
有了路由设定基础后,对于访问HTML页面的请求,也是放在views视图里来处理的。此时回到全局设定setting.py文件里,可以看到有一个参数为TEMPLATES模板,里面的DIRS参数就是模板所在的路径。
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [], #视图文件存放位置的设定
如果我们设定在myblog站点目录新建一个templates子目录,用于存放网页文件,这里的DIRS参数就可以设定为:
'DIRS': [BASE_DIR+"templates",], #其中的BASE_DIR为项目根目录路径
修改后保存下来。接下来就可以新建这个templates目录,并在里面创建一个网页文件index.html,内容可以示例如下:
接下来回到book目录的views视图文件,修改其渲染方式为render:
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
msg="welcome to visit Dr.Cao's blog,2020!"
return HttpResponse(msg)
def sell(request):
msg={} #定义了一个字典
msg['data']="你在访问曹鉴华的售书页面" #设置了键名为data,值为后面的语句
return render(request,'index.html',msg) #使用render渲染方式
进行完上述步骤,保存并打开网址:http://127.0.0.1:8000/book/sell,弹出如下界面:
下面我们将index.html网页内容修改为:
保存并打开网址:http://127.0.0.1:8000/book/sell,即弹出如下界面:
Django入门学习2
接Django入门学习1,目前整个框架如下:
1 站点首页路由设计
在核心子模块myblog里(注意不是根目录myblog)添加一个views.py文件,在里面添加如下内容:
接下来设定其访问路由,回到核心子模块myblog里的urls全局路由设定文件,添加如下内容:
2 首页模板视图设计
下面为更改后的index.html内容:
index.css内容:
3 网页资源文件访问设定
在站点目录下新建一个static文件夹,里面创建css和img子目录,然后将首页的index.css文件放在css目录下,将首页的demo.jpg文件放在img子目录里。
为了网页渲染时能正确访问到资源文件位置,还需要回到核心子模块的setting全局设定里,加入如下内容:
4 超链接跳转设置
5 过程所遇问题及解决
点击文章book连接之后,链接到不了目的界面,但是可以跳转成功。由此确定问题出在book上
标签:sell,index,入门,views,django,book,urls,Django From: https://www.cnblogs.com/wangkaixuan123/p/17569477.html