首页 > 其他分享 >Django入门

Django入门

时间:2023-07-20 19:56:20浏览次数:47  
标签:sell index 入门 views django book urls Django

Django入门学习1

搭建web站点及业务框架

1 安装Django

方法:

1 终端输入命令: pip install django

2在python解释器中添加,步骤如下

image-20230718154142662

如果遇到速度比较慢的状况,可以加入国内阿里云镜像站点来安装:

pip install -i https://mirrors.aliyun.com/pypi/simple django

image-20230718154655643

2 创建了一个名为myblog的站点名
在总项目终端输入命令:django-admin startproject myblog

image-20230718155622510

各文件的功能如下

image-20230718160026656

3 创建业务模块

描述

image-20230718160536832

打开book,查看目录下文件

image-20230718160911493

image-20230718161049987

4 测试web服务

image-20230718161356322

运行结果

image-20230718161414091

可以看到提示了测试web访问方式为:http://127.0.0.1:8000,此时可以在浏览器地址里输入该地址,出现火箭图标就表明请求成功:

打开网址----->

image-20230718161501281

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,就可以看到页面上有显示设定的那句话

image-20230718162203895

在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,回车后浏览器显示如下:image-20230718165218205

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,内容可以示例如下:

image-20230718235422364

接下来回到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渲染方式

image-20230718235121716

进行完上述步骤,保存并打开网址:http://127.0.0.1:8000/book/sell,弹出如下界面:

image-20230718233526444

下面我们将index.html网页内容修改为:

image-20230718235515110

保存并打开网址:http://127.0.0.1:8000/book/sell,即弹出如下界面:

image-20230718233709832

Django入门学习2

接Django入门学习1,目前整个框架如下:

image-20230720193442130

1 站点首页路由设计

在核心子模块myblog里(注意不是根目录myblog)添加一个views.py文件,在里面添加如下内容:

image-20230720193455790

image-20230720193509213

接下来设定其访问路由,回到核心子模块myblog里的urls全局路由设定文件,添加如下内容:

image-20230720193526574

image-20230720193537968

2 首页模板视图设计

下面为更改后的index.html内容:

image-20230720193611964

index.css内容:

image-20230720193631681

3 网页资源文件访问设定

在站点目录下新建一个static文件夹,里面创建css和img子目录,然后将首页的index.css文件放在css目录下,将首页的demo.jpg文件放在img子目录里。

为了网页渲染时能正确访问到资源文件位置,还需要回到核心子模块的setting全局设定里,加入如下内容:

image-20230720193656684

4 超链接跳转设置

image-20230720193720204

image-20230720193742357

image-20230720193801900

5 过程所遇问题及解决

点击文章book连接之后,链接到不了目的界面,但是可以跳转成功。由此确定问题出在book上

image-20230720193841118

image-20230720193902444

image-20230720193913121

标签:sell,index,入门,views,django,book,urls,Django
From: https://www.cnblogs.com/wangkaixuan123/p/17569477.html

相关文章

  • KerberosSDR新手入门测试
    本文内容、开发板及配件仅限用于学校或科研院所开展科研实验!温馨提示:“开源SDR实验室”是北京的。本文介绍Ubuntu下安装KerberosSDR相关软件环境,以及原作者树莓派镜像使用方法。KerberosSDR的使用方法目前有两种建议,一种是在Ubuntu系统上安装相关驱动及应用软件,另一种是用作......
  • STM32 F103 高效与入门
     1 入门写法 2高效写法 #defineOS_LED_ONGPIO_SetBits(GPIOA,GPIO_Pin_11)#defineOS_LED_OFF GPIO_ResetBits(GPIOA,GPIO_Pin_11)//(GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_11)==SET)?OS_LED_ON:OS_LED_OFF;//(GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_11)==SE......
  • kettle数据抽取入门
    一、编译和运行地址:https://github.com/pentaho/maven-parent-poms.githttps://github.com/pentaho/pentaho-kettle.git切换到9.5.0.0-240版本,JDK使用11版本,编译成功如下图:构建成功后的文件目录:D:\mywork\pentaho-kettle\assemblies\client\target文件名:pdi-ce-9.5.0.0-240.zip解......
  • 打造独具匠心的UI设计组件库:设计师入门必读!
    今天给大家分享一篇关于组件化设计的总结,希望可以带给大家更多设计思考。 什么是组件化⬇⬇⬇点击获取更多设计资源https://js.design/community?category=design&source=bky&plan=bbqbky772   组建化是构成界面的最基础元素和重复出现控件的集合体,也就是常说的组件......
  • 站点和资源django(1)(2)
    搭建web站点及其业务框架安装djangopipinstalldjango或pipinstall-ihttps://mirrors.aliyun.com/pypi/simpledjango在安装执行完后,库默认在env目录的site-packages,没有env目录可以在终端执行python-mvenvvenv创建web站点项目名为djangoProj,django-adminstartproj......
  • QT从入门到实战完整版 P30
    自定义封装控件smallWidgt.h#ifndefSMALLWIDGET_H#defineSMALLWIDGET_H#include<QWidget>namespaceUi{classSmallWidget;}classSmallWidget:publicQWidget{Q_OBJECTpublic:explicitSmallWidget(QWidget*parent=nullptr);~SmallWid......
  • Node-框架NestJS入门使用
     前言介绍Nest是一个用于构建高效,可扩展的Node.js服务器端应用程序的框架。它使用渐进式JavaScript,使用TypeScript构建(保留与纯JavaScript的兼容性),并结合了OOP(面向对象编程),FP(功能编程)和FRP(功能反应编程)的元素。注意请确保你的操作系统上安装了 Node.js(版本>=16)和 npm官......
  • django中request.query_params.get()和 request.data.get()的区别
    params用于获取字符串,data:用于获取正文,post方法两个参数都可以使用,get方法只能使用params例如:name=request.query_params.get('name',None)如果URL的查询参数中包含了名为"name"的参数,那么request.query_params.get('name',None)将返回该参数的值。否则,将返回None......
  • 通过任意脚本调用django的模型类
    通过任意脚本调用django的模型类需求:我想通过任意脚本,调用django的模型类,查询一下数据库的信息,或者新增数据库数据,而不需要通过启动django项目或者使用pythonmanage.pyshell这种方式来运行解决办法脚本中添加django项目的路径到sys.path环境变量中设置django项目的环境变量......
  • 拦截器入门案例
           ......