django-1.开始hello world!

前言

当你想走上测试开发之路,用python开发出一个web页面的时候,需要找一个支持python语言的web框架。django框架有丰富的文档和学习资料,也是非常成熟的web开发框架,想学python开发的小伙伴,从django入手是一个不错的选择。本篇写一个简单的“hello world! ”页面,开始django之旅~
环境准备:
Python 3.6.0
django 2.1.2
pycharm

环境准备

django的环境安装非常简单,只需用pip安装一个django库就可以了,编辑器选择pycharm

pip install django

查看版本号:pip show django

C:\Users\dell>pip show django
Name: Django
Version: 2.1.2
Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Home-page: https://www.djangoproject.com/
Author: Django Software Foundation
Author-email: foundation@djangoproject.com
License: BSD
Location: e:\python36\lib\site-packages
Requires: pytz
Required-by:

安装完之后在cmd检查下是否能用

C:\Users\dell>python
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> print(django.get_version())
2.1.2
>>>

创建项目

先建一个工程,比如我的项目代码想放到E:\web_djo目录下,然后新建一个Django project( 即一个 Django 项目实例需要的设置项集合,包括数据库配置、Django 配置和应用程序配置。)
打开命令行,cd 到一个你想放置你代码的目录,然后运行以下命令:

django-admin startproject helloworld

执行完之后打开pycharm就可以看到web_djo工程目录下多了以下层级文件

─helloworld
    │  manage.py
    │
    └─helloworld
            settings.py
            urls.py
            wsgi.py
            __init__.py

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

  • 最外层的:helloworld: 项目的容器,可以随便命名。
  • manage.py: 一个让你用各种方式管理 Django 项目的命令行工具。
  • helloworld/__init__.py:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。
  • helloworld/settings.py:Django 项目的配置文件。
  • helloworld/urls.py:Django 项目的 URL 声明,就像你网站的“目录”。
  • helloworld/wsgi.py:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。

django-admin

django-admin.exe是一个可执行文件,安装django时候会默认安装到python3\Scripts目录下,相关指令用-h查看

E:\python36\Scripts>django-admin -h

Type ‘django-admin help <subcommand>‘ for help on a specific subcommand.

Available subcommands:

[django]
    check
    compilemessages
    createcachetable
    dbshell
    diffsettings
    dumpdata
    flush
    inspectdb
    loaddata
    makemessages
    makemigrations
    migrate
    runserver
    sendtestemail
    shell
    showmigrations
    sqlflush
    sqlmigrate
    sqlsequencereset
    squashmigrations
    startapp
    startproject
    test
    testserver
Note that only Django core commands are listed as settings are not properly configured (error: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.).

启动服务

接下来启动django服务,使用helloworld下的manage.py,先cd到web_djo/helloworld目录下,到在命令行输入以下指令:

python manage.py runserver

E:\web_djo\helloworld>python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).

You have 15 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.
October 23, 2018 - 21:09:39
Django version 2.1.2, using settings ‘helloworld.settings‘
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

启动完只看看到这句:Starting development server at http://127.0.0.1:8000/,复制地址在浏览器打开

django服务默认在8000端口启动,如果想换个端口,可以输入以下指令

python manage.py runserver 8080

如果一个局域网另外一台电脑也需要能访问,可以监听所有ip:python manage.py runserver 0.0.0.0:8000,访问的时候用电脑ip代替127.0.0.1

用于开发的服务器在需要的情况下会对每一次的访问请求重新载入一遍 Python 代码。所以你不需要为了让修改的代码生效而频繁的重新启动服务器。然而,一些动作,比如添加新文件,将不会触发自动重新加载,这时你得自己手动重启服务器。

视图和URL配置

在先前创建的helloworld/helloworld目录新建一个 view.py 文件,并输入代码

# helloworld/helloworld/view.py
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello world !  django ~~")

绑定URL与视图函数。打开 urls.py 文件,删除原来代码,将以下代码复制粘贴到 urls.py 文件中

# helloworld/helloworld/urls.py
from django.conf.urls import url
from . import view

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

url函数

url() 可以接收四个参数,分别是两个必选参数:regex、view 和两个可选参数:kwargs、name.

def url(regex, view, kwargs=None, name=None):
    return re_path(regex, view, kwargs, name)
  • regex: 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view。
  • view: 用于执行与正则表达式匹配的 URL 请求。
  • kwargs: 视图使用的字典类型的参数。
  • name: 用来反向获取 URL。

多个url设置

urlpatterns里面url(r‘^$‘, view.index)这项是打开首页http://127.0.0.1:8000,平常网站会有多个页面,如果想加个页面地址如:http://127.0.0.1:8000/yoyo打开另外一个页面.

view.py加个函数

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello world ! django ~~ ")

def yoyo(request):
    return HttpResponse("yoyo!  django ~~ ")

urls.py加个配置

from django.conf.urls import url
from . import view

urlpatterns = [
    url(‘^$‘, view.index),
    url(‘^yoyo$‘, view.yoyo),
]

这样在浏览器上输入地址:http://127.0.0.1:8000/,打开页面出现:Hello world ! django ~~
在浏览器输入地址:http://127.0.0.1:8000/yoyo, 打开页面出现:yoyo! django ~~

关于regex正则表达式用法可以参考菜鸟教程http://www.runoob.com/regexp/regexp-tutorial.html

原文地址:https://www.cnblogs.com/jason89/p/10359369.html

时间: 2024-10-16 05:23:41

django-1.开始hello world!的相关文章

Django url 标签和reverse()函数的使用(转)

原文:http://www.yihaomen.com/article/python/355.htm 使用url标签和reverse()函数,可以避免在模板和view中对url进行硬编码,这样即使url改变了,对模板和view也没有影响 起初用django 开发应用的时候,完全是在urls.py 中硬编码配置地址,在views.py中HttpResponseRedirect()也是硬编码转向地址,当然在template 中也是一样了,这样带来一个问题,如果在urls.py 中修改了某个页面的地址,

利用 Django REST framework 编写 RESTful API

利用 Django REST framework 编写 RESTful API Updateat 2015/12/3: 增加 filter 最近在玩 Django,不得不说 rest_framework 真乃一大神器,可以轻易的甚至自动化的搞定很多事情,比如: 自动生成符合 RESTful 规范的 API 支持 OPTION.HEAD.POST.GET.PATCH.PUT.DELETE 根据 Content-Type 来动态的返回数据类型(如 text.json) 生成 browserable

Django(三) ORM 数据库操作

比较有用 转自 http://blog.csdn.net/fgf00/article/details/53678205 一.DjangoORM 创建基本类型及生成数据库表结构 1.简介 2.创建数据库 表结构 二.Django ORM基本增删改查 1.表数据增删改查 2.表结构修改 三.Django ORM 字段类型 1.字段类型介绍 2.字段参数介绍 3.Django ORM 外键操作 一.DjangoORM 创建基本类型及生成数据库表结构 1.简介 ORM:关系对象映射.定义一个类自动生成数

linux中部署django项目

通过Nginx部署Django(基于ubuntu) Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.nginx把所有静态请求自己来处理(这是NGINX的强项).然后,NGINX将所有非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求. 可见,uwsgi的作用就类似一个桥接器.起到桥梁的作用. Linux的强项

【前端框架】Django补充

一.缓存 由于Django是动态网站,所以每次请求均会去取到数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单的解决方式就是使用缓存,缓存将某个views返回的值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者redis中把之前缓存的内容拿到,并返回. Django中提供了6中缓存方式: 开发调试 内存 文件 数据库 Memcache缓存(python-memcached模块) Memcache缓存(pylibmc模块) 1

Django之Form组件

Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1.创建Form类 from django.forms import Form from django.forms import widgets from django.forms import fields class MyForm(Form): user = fields.CharField( widget=widgets.Tex

Django表单上传

任务描述:实现表单提交(上传文件) 1.项目目录: 2.源代码: regist.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>regist</title> </head> <body> <h3>regist</h3> <hr> <

Django之ModelForm组件

1.Django之ModelForm组件 ModelForm a. class Meta: model, # 对应Model的 fields=None, # 字段 exclude=None, # 排除字段 labels=None, # 提示信息 help_texts=None, # 帮助提示信息 widgets=None, # 自定义插件 error_messages=None, # 自定义错误信息(整体错误信息from django.core.exceptions import NON_FIE

win7 32位配置apache+wsgi+django环境

1下载xampp,里面有apache,mysql,phpmyadmin, 2 下载wsgi,http://download.csdn.net/download/copter/9192361 将对应的模块解压放到D:\programs\xampp\apache\modules 然后到D:\programs\xampp\apache\conf\httpd.conf中 # 添加mod_wsgi.so 模块LoadModule wsgi_module modules/mod_wsgi.so # Virt

如何在windows和linux搭建django环境

注:本文以python3为例,python2.x是一样的不再赘述 提前准备: python/python3已经安装好,如果没有请参考以下资料进行安装 window安装python3 linux安装python3 window安装django 使用pip进行安装 1.打开cmd窗口 python3 -m pip install django或者指定版本python3 -m pip install django==1.10.3 等待安装完成后打开python3的安装目录,可以看到django的可执行