Django入门实践-1(从安装到创建第一个网页Hello World)

python 3.6 django-3.0.5

1. Django安装

1.1 pip安装

  • 若不指定具体版本,则使用命令:pip install django
  • 若指定特定版本,则使用命令:pip install django==3.0.5

然而不知为何,我使用这个命令总安装失败,因此我经常会自己下载whl文件或者库包,然后手动安装

1.2 手动安装

  • 访问django官网:https://www.djangoproject.com/download/下载latest release版本。

  • 我下载的是Django-3.0.5.tar.gz。解压缩后,在当前目录下打开cmd或者powershell,输入安装命令:
    python setup.py install,它会自动下载相关的依赖包,分析它的安装过程,它的依赖包有:
    asgiref、sqlparse、pytz等三个库包( 如果自动安装成功,那就ok了,悲剧的是我的pytz下载超时,安装不成功!)

  • 若有依赖包安装不成功的情况,则可以去pypi网站上下载相应库包,手动安装。(于我而言,下载了pytz库包后,在当前环境下安装之 pip install pytz-2019.3-py2.py3-none-any.whl

1.3 环境变量配置

  • 将路径:C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Scripts;
    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Lib\site-packages\Django-3.0.5-py3.6.egg\django;添加进环境变量(我的电脑右键–属性–高级系统设置–环境变量–Path)

1.4 版本检测

  • 简单操作:cmd输入:python -m django --version

  • python内操作:cmd依次输入:

    python					// 进入python环境
    import django			// import django
    django.get_version()	// 获取django版本
    

2. 开始创建项目

2.1 创建项目:

  1. 在项目文件夹中打开cmd,输入:django-admin startproject HuaWeb,表示在当前位置创建项目

  2. 查看是否已经创建成功:cd HuaWeb/dir查看目录:其中:
    目录说明:

    HuaWeb: 项目的容器。
    manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
    HelloWorld/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
    HelloWorld/settings.py: 该 Django 项目的设置/配置。
    HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
    HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
    HelloWorld/asgi.py: django3.0新增的功能,一种具有异步功能的 Python web 服务器网关接口协议
    

    还没搞明白,此处附上知乎中对asgi的介绍
    我的项目名称为HuaWeb

  3. 修改配置文件:目前最重要的是修改settings.py。调试状态下,我希望只自己可以访问,因而在ALLOWED_HOSTS这里添加值为localhost;如果想要所有人可以访问,则值为*
    在这里插入图片描述

  4. 启动server:python manage.py runserver 0.0.0.0:8080,其中8080为端口号,也可以设置为别的。这时候就可以通过http://localhost:8080/或者127.0.0.1:8080访问我们的网站啦!初始网站,神马都没有在这里插入图片描述

2.2 添加第一行代码

2.2.1 在项目的视图内添加网页代码

对于一个django框架的项目而言,项目容器已经包含了网站的基本架构。

  1. 配置路由url:
    原始路由指向的是django框架默认的网页格式,若要按照我们的个性化要求进行响应,则需要在HelloWorld/HelloWorld/urls.py内添加新的路由:

    from django.contrib import admin
    from django.urls import path
    from django.conf.urls import url # 新增
    from . import view # 新增,表示添加当前视图也可以写成from HelloWorld import view
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        url(r'^aa$',view.hello), # 新增,表示用127.0.0.1:8080/aa可以访问到view.hello函数内容
    ]
    
  2. 编写视图函数:
    视图函数用于响应url的内容,如上view.hello表示指向视图view.pyhello函数。未编写时,该函数为空,则添加函数:

    from django.http import HttpResponse
    
    def hello(request):
        return HttpResponse("Hello world ! ")
    
  3. cmd重启server:python manage.py runserver 0.0.0.0:8080,输入网址:127.0.0.1:8080/aa访问我们的第一个网页helloworld:
    在这里插入图片描述

2.2.2 通过应用搭建web项目

此处添加一个关于django框架的理解:

项目HuaWeb
应用1
应用2
... ...
应用n
Django

按照csdn学院的老师阐述,项目相当于一个小区,而应用则是小区里一栋栋的楼,应用中的每一个子网页则对应楼中每一层。

  1. 添加一个应用:在cmd中命令: python manage.py startapp home,表示生成一个应用home,如下图所示,为该应用内包含的文件,其中应用路由文件urls.py为我从主项目中copy来的。
    在这里插入图片描述

  2. 配置主项目路由文件HuaWeb/urls.py:在该文件内添加引用include ,然后新增urlpatterns,通过include函数将路由定位至home应用的路由urls.py

    from django.contrib import admin
    from django.urls import path
    from django.conf.urls import url,include    # 新增include引用
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        url(r'^aa/',include("home.urls")),    # 新增,表示用127.0.0.1:8080/aa定位到myapp.urls路由
    ]
    
  3. 配置应用home的路由文件urls.py

    from django.conf.urls import url
    from home import views
    
    urlpatterns = [
        url(r'^bb$',views.index,name="index"), # 表示127.0.0.1:8080/aa/bb定位到views.index函数
    ]
    
  4. 配置应用home的视图文件views.py:文件本身为空,需要我们自建函数。

    from django.shortcuts import render
    from django.http import HttpResponse
    
    # Create your views here.
    def index(request):
        return HttpResponse("Hello World!")
    
  5. cmd重启server:python manage.py runserver 0.0.0.0:8080,输入网址:127.0.0.1:8080/aa/bb访问我们网页helloworld:
    在这里插入图片描述

2.2.3 加载模板以创建web项目

  1. 在主项目配置文件settings.py中配置TEMPLATESDIRS项,将其定位至模板目录BASE_DIR/Templates

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, "Templates"], # 新增,表示模板目录为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. 在根目录下创建模板文件夹Templates,并在该文件夹下创建网页文件index.html,然后就可以在此处编写属于自己的网站了,此处我在<body>标签内随便填入内容如下:

在这里插入图片描述

  1. 配置路由:如2.2.2所示,先对主项目路由文件urls.py进行指向配置,后配置应用homeurls.py
	#  主项目路由配置:HuaWeb/urls.py
	from django.contrib import admin
	from django.urls import path
	from django.conf.urls import url,include    # 新增include引用
	
	urlpatterns = [
	    path('admin/', admin.site.urls),
	    url(r'^aa/',include("home.urls")),    # 新增,表示用127.0.0.1:8080/aa定位到myapp.urls路由
	]
	# 应用路由配置:home/urls.py
	from django.conf.urls import url
	from home import views
	
	urlpatterns = [
	    url(r'^bb$',views.index,name="index"), # 表示127.0.0.1:8080/aa/bb定位到views.index函数
	]
  1. 配置应用home的视图文件views.py
	from django.shortcuts import render
	from django.http import HttpResponse
	
	# Create your views here.
	def index(request):
	    return render(request, "index.html") # 使用render来将request定位至Templates/index.html
  1. cmd重启server:python manage.py runserver 0.0.0.0:8080,输入网址:127.0.0.1:8080/aa/bb访问我们的网页:
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值