Django网络框架使用(二)

Django 创建Hello world

注:

任何一门语言,无论是简单的,复杂的,易上手的,不易上手的,在你所学的基础之上能够创建出第一个“Hello World”,不负责任的说你已经对这个框架或者语言理解了四分之一乃至更多。而后面的你会发现不同语言,不同框架大同小异,但当你深入研究后,又会发现差异是很大的。

因为用惯了VS,在VisualStudio2015以后的版本中,是可以支持python的,且非常方便下载和更新一些常用包,所以我将在VS中使用python3(不建议用Anaconda3)完成 Django框架的使用

当然,你也可以选用多数人使用的PyCharm,不建议使用自带IDLE

首先我们新建一个项目

项目建设

选择空Django Web项目,点击确定
此时创建会让你安装包
安装包

如果你已经在你的电脑上安装好了包,点击我自己安装

然后查看你的python默认环境中是否有Django的包
包

若有显示此包,那么就说明此时你已经安装好了Django,不需要再配置
若不显示此包,你需要返回我的Django网络框架使用(一)去安装
若你没有安装Django包,也不想尝试终端输入.
那么你可以使用‘安装到虚拟环境’,此时加载的包只对此项目可用,但这时候的项目方便移植不同平台。

env

当你进入env时,你会看到一些文件都已帮你自动加载进去了

不建议使用所有项目共享,他会帮你重新下载一个Django,版本会冲突,导致你每次新建项目都得下载一遍。

创建完成后我们可以查看项目的目录结构:

文档结构

└─DjangoWebProject3
    │  DjangoWebProject3.pyproj
    │  manage.py
    │  requirements.txt
    │
    └─DjangoWebProject3
            settings.py
            urls.py
            wsgi.py
            __init__.py

目录说明:

DjangoWebProject3 `` 项目容器
DjangoWebProject3.pyproj 识别为VS所创建的项目
manage.py“ 命令行工具,可让你以不同方式与该 Django 项目进行交互

内容:

#!/usr/bin/env python
"""
Command-line utility for administrative tasks.(命令行程序)
"""
import os
import sys

if __name__ == "__main__":
    os.environ.setdefault(
        "DJANGO_SETTINGS_MODULE",
        "DjangoWebProject3.settings"
    )

    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)

DjangoWebProject3/__init__.py 空文件,识别该目录是一个 Python 包。
DjangoWebProject3/settings.py 该 Django 项目的设置/配置。
DjangoWebProject3/urls.py 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站”网址目录”。
DjangoWebProject3/wsgi.py一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

此时点击运行,会出现一个命令窗口,显示你需要迁移一些东西

You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
November 19, 2017 - 10:22:40
Django version 1.11.7, using settings 'DjangoWebProject1.settings'
Starting development server at http://127.0.0.1:54636/
Quit the server with CTRL-BREAK.

此时运行端口随机
所以此时需要在此目录下运行cmd,写入

python manage.py migrate

将所需东西迁入

或者你可以

在 项目目录中可用命令行输入以下命令,启动Django服务器:

python manage.py runserver 0.0.0.0:8000

0.0.0.0 ipv4 预留地址,指代所有地址,8000 为端口号(默认端口)。

在浏览器输入你服务器的ip及端口号,如果正常启动,输出结果如下:
案例

视图和 URL 配置

在先前创建的 web项目目录下的web目录中新建一个 view.py 文件
写入代码:


from django.http import HttpResponse

def ser():
    return HttpResponse("Hello World!");

绑定 URL 与视图函数。

打开 urls.py 文件
将以下代码写到 urls.py 文件中:

from django.conf.urls import include, url
from  . import view # 从同级目录导入
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = [
    # Examples:
    # url(r'^$', Web1.views.home, name='home'),
    # url(r'^Web1/', include('Web1.Web1.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # url(r'^admin/', include(admin.site.urls)),
    url(r'^$' , view.ser),
]

我们也可以修改访问路径:
urls.py 修该 urlpatterns代码:

urlpatterns = [
    url(r'^index$', view.ser),
]

通过浏览器打开 http://localhost:端口号/index:

**项目中如果代码有改动,服务器会自动监测代码的改动并自动重新载入
如果你已经启动了服务器则不需手动重启。**

include()函数

include()允许引用其他URLconf。
include()函数的正则表达式没有$(字符串尾部匹配字符),而是一个尾部斜线。
每当Django遇到include()时,它将切割与该点匹配的URL的任何部分,并将剩余的字符串发送到包含的URLconf以供进一步处理。
include()的想法是使插入和使用URL变得容易。
例:
若在项目中存在URLconf(polls/ urls.py)
那么当截取polls时,可以放在“/polls/”下,或在“/ fun_polls /”下,或“/ content / polls /”或任何其他路径的根,应用程序将仍然工作

url() 函数

url() 可以接收四个参数

两个必选参数:regex、view
regex: 正则表达式,与之匹配的 请求URL 会执行对应的第二个参数 view的东西。
django从第一个正则表达式开始,并在列表中向下,将请求的URL与每个正则表达式进行比较,直到找到匹配的正则表达式。
请注意,这些正则表达式不搜索GET和POST参数或域名。
例如,在https://www.example.com/myapp/的请求中,URLconf将查找 myapp /。
https://www.example.com/myapp/?page=3的请求中,URLconf也会查找myapp /。

view: 用于执行 处理正则表达式匹配的 URL 请求的模块。

两个可选参数:kwargs、name
kwargs: 视图使用的字典类型的参数。
name: 用来反向获取 URL,并赋给name值

附:

命令行通过 django-admin.py来创建一个项目:
此文件在python33的Script下
位置

django-admin.py的命令介绍:

[root@solar ~]# django-admin.py
Usage: django-admin.py subcommand [options] [args]

Options:
  -v VERBOSITY, --verbosity=VERBOSITY
                        Verbosity level; 0=minimal output, 1=normal output,
                        2=verbose output, 3=very verbose output
  --settings=SETTINGS   The Python path to a settings module, e.g.
                        "myproject.settings.main". If this isn't provided, the
                        DJANGO_SETTINGS_MODULE environment variable will be
                        used.
  --pythonpath=PYTHONPATH
                        A directory to add to the Python path, e.g.
                        "/home/djangoprojects/myproject".
  --traceback           Raise on exception
  --version             show program's version number and exit
  -h, --help            show this help message and exit

创建第一个项目

使用 django-admin.py 来创建 HelloWorld 项目:

django-admin startproject mysite

部分来自官网翻译,翻译有误,请及时联系我。。。

Django网络框架使用(三)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值