• Django(1)编写你的第一个Django应用


    安装

    我们使用pycharm的虚拟环境 直接pip安装

    如果你是win系统不推荐使用 conda 因为后期连接数据库用 conda 安装 mysql client 的时候有个小问题

    具体什么问题可以看看这个链接中的 conda 和 django win环境下安装 mysql_client 出现的问题 的内容

    Django面试题和出现的一些问题

    安装命令

    pip install django
    
    • 1

    可能出现的报错

    一 版本过低

    WARNING: There was an error checking the latest version of pip.
    
    • 1

    这个报错是因为你的 pip 版本过低 升级一下就行

    python -m pip install --upgrade pip
    
    • 1

    二 网络超时

    这个报错是因为网络延迟

    pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
    
    • 1

    指定源就行

    pip install django -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
    
    • 1

    安装完成查看版本

    python -m django --version
    
    • 1

    启动Django

    项目创建

    你想在哪里创建Django项目那么就cd到哪里 然后输入以下命令

    django-admin startproject dj_web
    
    • 1

    dj_web 是我起的名字 你们想换什么就换什么

    目录结构

    dj_web/
        manage.py           管理工具
        dj_web/
            __init__.py
            settings.py     配置文件
            urls.py         URL调度器
            asgi.py         asgi是wsgi的扩展异步Python标准,比只能同步的wsgi性能更好
            wsgi.py         Web服务器网关接口
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    这些目录和文件的用处是:

    • 最外层的 dj_web/ 根目录只是你项目的容器, 根目录名称对 Django 没有影响,你可以将它重命名为任何你喜欢的名称。
    • manage.py: 一个让你用各种方式管理 Django 项目的命令行工具。你可以阅读 django-admin 和 manage.py 获取所有 manage.py 的细节。
    • 里面一层的 dj_web/ 目录包含你的项目,它是一个纯 Python 包。它的名字就是当你引用它内部任何东西时需要用到的 Python 包名。 (比如 dj_web.urls).
    • dj_web/init.py:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。如果你是 Python 初学者,阅读官方文档中的 更多关于包的知识。
    • dj_web/settings.py:Django 项目的配置文件。如果你想知道这个文件是如何工作的,请查看 Django 配置 了解细节。
    • dj_web/urls.py:Django 项目的 URL 声明,就像你网站的“目录”。阅读 URL调度器 文档来获取更多关于 URL 的内容。
    • dj_web/asgi.py:作为你的项目的运行在 ASGI 兼容的 Web 服务器上的入口。阅读 如何使用 ASGI 来部署 了解更多细节。
    • dj_web/wsgi.py:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。阅读 如何使用 WSGI 进行部署 了解更多细节。

    启动我们的Django

    cd 到我们的项目目录,要和manage.py同级,然后执行以下命令

    python manage.py runserver 8000
    
    • 1

    8000 是我指定的启动端口,可以不加默认8000

    在控制台出现一个链接 http://127.0.0.1:8000/ 让我们点进去看看

    如果想开放我们的服务那么执行以下命令

    python manage.py runserver 0.0.0.0:8000
    
    • 1

    创建投票应用

    创建目录

    我们要创建对应的目录,这个django可以帮我们实现

    python manage.py startapp polls
    
    • 1

    目录结构

    polls/
        __init__.py
        admin.py
        apps.py
        migrations/
            __init__.py
        models.py
        tests.py
        views.py
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    编辑我们第一个视图

    打开 polls/views.py 写入以下代码

    from django.http import HttpResponse
    
    
    def index(request):
        return HttpResponse("Hello, world. You're at the polls index.")
    
    • 1
    • 2
    • 3
    • 4
    • 5

    这是一个简单的视图,我们需要将一个url映射到它。

    我们需要在polls目录下创建一个urls.py的文件并写入以下代码

    from django.urls import path
    
    from . import views
    
    urlpatterns = [
        path('', views.index, name='index'),
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    下一步就是在dj_web目录中的url写入以下代码

    from django.contrib import admin
    from django.urls import path, include
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('polls/', include('polls.urls')),
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    include

    函数 include() 允许引用其它 URLconfs。每当 Django 遇到 include() 时,它会截断与此项匹配的 URL 的部分,并将剩余的字符串发送到 URLconf 以供进一步处理。

    运行服务

    python manage.py runserver 8000
    
    • 1

    进入链接 http://127.0.0.1:8000/polls/

    看到 Hello, world. You're at the polls index. ok 成功

  • 相关阅读:
    JAVA多线程基础篇--守护线程(Daemon Thread)
    C#使用教程:由C++转向C#需要看重地疑难
    OceanBase自动安装部署演示环境demo
    Vue面试题重难点总结
    redis之主从复制和哨兵模式
    【Python】批量下载素材酷视频资源
    CSS 3之菜单的横竖转换
    FPGA - 7系列 FPGA内部结构之Memory Resources -02- FIFO资源
    入门力扣自学笔记79 C++ (题目编号241)
    “Ubuntu终端闪退”的解决方法
  • 原文地址:https://blog.csdn.net/gtd54789/article/details/128167664