zoukankan      html  css  js  c++  java
  • 第一节:简单的请求(Requests)和响应(Responses)

      目录

    创建项目

    在命令行中,使用cd命令进入到你想要存储你的项目的目录,然后运行下面的命令:

    $ django-admin startproject mysite

    这将在你的当前工作目录下创建一个mysite的目录,让我们来看创建的项目结构:

     

    这些文件是:

    • 最外面的mysite/就是你创建项目的根目录,对于Django而言这个名字起什么都可以,你可以换成任何你喜欢的名字。
    • manage.py:一个实用的命令行工具,可以让你和这个Django项目进行交互
    • 里面的mysite/ 目录是你的项目的实际Python包,它的名字是你在任何地方需要使用它导入的Python包名
    • mysite/__init__.py:一个空文件告诉Python这个目录应该被视为一个Python package。
    • mysite/settings.py:Django项目的配置文件。
    • mysite/urls.py:Django项目的url声明,用来映射视图中的一个函数
    • mysite/wsgi.py:WSGI兼容的web服务器如何,部署的时候会用到

    开发服务器

    让我们切换到manage.py所在的目录,然后运行下面的命令:

    $ python manage.py runserver

    你在命令行看到如下输出:

     

    注意:请忽略输出内容中的红色区域关于数据库未迁移的警告,在后面的教程会讲到

    现在Django开发服务已经运行起来了,这是一个用python编写的轻量级的web服务器,这便于你进行开发测试,不用部署生产环境用的Web服务器,比如、apache

    现在在浏览器打开http://127.0.0.1:8000,你将可以看到“Welcome to Django”的页面,如下图:

     

      修改端口

      默认情况下,runserver在内部IP启动开发服务器,端口8000。

      如果你想要修改服务器的端口,将端口作为命令参数。例如,我们在8080端口启动服务器

    $ python manage.py runserver 8080

      如果你想要修改服务器的IP,把IP和端口作为参数(eg. 192.168.0.10:8080),例如监控所有的IP

    $ python manage.py runserver 0.0.0.0:8080

    创建名称为Polls的应用

    每次编写的应用是由一个遵循一定规则的Python包组成,Django自带了一个实用工具来自动生成一个应用的基本目录结构,这样你可以专注编写逻辑代码,而不用创建目录了。

    项目(project)和应用(apps)

    项目和应用有什么不同呢?一个应用是一个Web应用程序,例如,一个博客系统,一个公共记录的数据库或一个简单的投票应用。一个项目是配置和站点应用的集合。一个项目可以包括多个应用。一个应用可以在多个项目使用。

    在命令行进入项目的manage.py的目录,创建应用: 

    $ python manage.py startapp polls

    这将创建一个polls的目录,如下:

     

    编写你的第一个视图

    让我们编写第一个视图,打开文件polls/views.py,并输入如下Python代码:

    from django.http import HttpResponse
    
    def index(request):
        return HttpResponse(“Hello,world. You’re at the polls index”)

    这是Django最简单的视图,要想调用它我们需要映射它到一个url,因此需要一个url配置。

    那么在polls目录创建名称为urls.py的配置文件 

    在polls/urls.py输入下面代码: 

    from django.conf.urls import url
    
    from . import views
    
    urlpatterns = [
        url(r’^$’,views.index,name=’index’),
    ]

    下一步在mysite/urls.py,导入django.conf.urls.include并且在urlpatterns列表插入一个 include()方法,如下: 

    from django.conf.urls import include,url
    from django.contrib import admin
    
    urlpatterns = [
        url(r’^polls/’,include(‘polls.urls’)),
        url(r’^admin/’,admin.site.urls),
    ]

    include()方法允许引用其他的url配置,请注意对include()方法的正则表达式没有$而是一个斜线,每当Django遇到include()

    它剔除掉匹配这点url部分并且发送剩下的部分字符串给incode()包含的url配置做进一步处理。

      什么时候使用include()

      当你包含其他的url模式时你应该使用include()admin.site.urls是个例外

    你已经把index视图注册到url配置。来看看它是否能正常工作,运行下面的命令:

    $ python manage.py runserver

    在浏览器打开http://localhost:8000/polls/,你应该能看到你定义到Index视图输出的文本“Hello, world. You’re at the polls index.”。

    url()方法可以传递四个参数,两个参数是必须的:regex 和 view 还有两个可选参数:kwargs name,下面我们来看一下每个参数什么作用呢

    regex

    regex是“regular expression”的缩写形式,这个参数以正则表达式的形式表示url路径

    view

    当Django找到一个匹配的正则表达式时,Django调用指定的视图方法。那么这个参数就是视图的方法。 

    kwargs

    关键字参数,这个参数将作为字典传递给目标视图,不过这个参数用的比较少。

    name

    给你的url起个名字,在模板中会用到,这个强大的功能将使你对你项目的url模式适应变化,只需要修改一个文件就可以了。

    这是一个基本请求和响应流程,下一节将说明如何使用数据库

  • 相关阅读:
    洛谷P2568 GCD
    线段树(模板)
    题解 CF1296D 【Fight with Monsters】
    图片针对父元素居中 TileImg
    npm
    echarts线图,柱状图,饼图option
    mac下修改环境变量
    input获取焦点,但不调起键盘
    mac shh 关联git仓库
    根据滚动条触发动画
  • 原文地址:https://www.cnblogs.com/caoshiqing/p/5822811.html
Copyright © 2011-2022 走看看