Django项目的创建及基本使用
安装步骤
Django是Python进行Web开发的框架,目前应用比较广泛。使用python进行Web开发,能够很快的搭建所需的项目,可以运用于原型开发,也可以部署到实际的应用环境。
使用Django开发,首先要安装Django模块,安装过Python的系统,启动命令行,cd 到python pip的安装目录,执行
pip install django ---此处为pip安装方法,其他设备安装方式参考菜鸟教程http://www.runoob.com/django/django-install.html
安装好Django,需要将安装目录配置到环境变量path中,例如C:\Python33\Lib\site-packages\Django,django自动安装在python下面的lib\site-packages里面
如果安装时候碰到错误:
pip安装三方库的时候提示 Could not fetch URL https://pypi.python.org/simple/virtualenv/: There was a prob
将pip install 改成:pip --trusted-host pypi.python.org install 三方库名
检查是否安装成功,可以在dos下进入Django-1.6.2目录查看Django版本。
1.输入python 2.输入import django3.输入django.get_version()
卸载django:pip uninstall django
创建一个网站:
首先创建项目,用cmd命令在希望创建的目录执行:
django-admin.py startproject hello
我们创建了项目名为hello的项目,此时hello目录结构如下:
我们执行
- python manage.py runserver
此时,浏览器访问http://localhost:8000/,应该可以看到我们的服务器已经启动了。显示了一个Welcome to Django的页面。
Django提倡基于应用作为单位进行开发,我们创建自己的应用,使用命令
- python manage.py startapp say_hello
这样,就创建了say_hello应用,当前目录结构为:
.
├── hello
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
└── say_hello
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
└── views.py
可以看到,多出了一个say_hello目录。下面开始我们的开发,首先在say_hello目录下,新建一个templates目录,其中创建say_hello.html页面。
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>Hello</title>
- </head>
- <body>
- <h1>Hello {{hello_words}}</h1>
- </body>
- </html>
页面很简单,我们使用了Django提供的模板,取hello_words参数渲染视图,后面会看到如何赋值这个参数。
现在有了页面,我们需要做我们的控制器,在say_hello目录下的views.py中添加函数
- from django.shortcuts import render
- def hello_page(request):
- return render(
- request,
- 'say_hello.html',
- {'hello_words': request.GET.get('hello_words', "")}
- )
使用了render函数,该函数会返回一个response对象,该对象中有经过渲染的html,我们这里基于say_hello.html模板进行渲染,渲染的参数由字典表示,参数名为hello_words,内容是GET请求的hello_words的参数值,如果没有参数值,则hello_words的值为""。
完成了控制器,设置一下url映射,打开hello目录下的urls.py,添加映射
- from django.conf.urls import url
- from django.contrib import admin
- from say_hello import views
- urlpatterns = [
- url(r'^admin/', admin.site.urls),
- url(r'^$', views.hello_page, name='hello_page'),
- ]
使用正则表达式^$,将发送到根路径下的请求转交给home_page处理,就是上面实现的控制器,这里Django使用视图来表示控制器,实际上Django也是MVC架构,只是M对应的是实体类,V对应的是模板,也就是html文件,控制器对应了views.py的定义。
现在运行程序,还是无法运行的,会报错找不到say_hello.html,这是因为我们还需要注册一下我们的应用,打开settings.py文件,在INSTALLED_APPS列表中添加一项"say_hello",如下
- # Application definition
- INSTALLED_APPS = [
- 'django.contrib.admin',
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles',
- 'say_hello',
- ]
现在运行服务器,浏览器输入localhost:8000可以看到Hello,如果是使用http://localhost:8000/?hello_words=World,则可以看到Hello World.
Django项目的创建及基本使用的更多相关文章
- 1.django项目的创建(在CMD中)
django项目的创建(在CMD中) 1.切换到你想要存储项目的位置,我这里保存在桌面上 cd Desktop 2.创建一个django项目,项目名叫guest django-admin startp ...
- Django项目的创建与介绍.应用的创建与介绍.启动项目.pycharm创建启动项目.生命周期.三件套.静态文件.请求及数据.配置Mysql完成数据迁移.单表ORM记录的增删改查
一.Django项目的创建与介绍 ''' 安装Django #在cmd中输入pip3 #出现这个错误Fatal error in launcher: Unable to create process ...
- Django简介及Django项目的创建详述
Django简介 Django是一个开源的Web应用框架,由Python写成.但是,百度百科中讲它采用了MVC框架模式,其实这个解释不准确. 确切的讲,Django的模式是:路由控制+MTV模式.所谓 ...
- Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用
Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基 ...
- Django项目的创建
一. Django介绍 Python的WEB框架有Django.Tornado.Flask 等多种, Django相较与其他WEB框架其优势为: 大而全, 框架本身集成了ORM.模型绑定,.模板引擎, ...
- Django项目的创建与管理和pycharm与Github的秘密
随笔 - 174 文章 - 21 评论 - 19 Django项目创建与管理 1.主题 这部分教程主要介绍如何通过Pycharm创建.管理.运行一个Django工程.对于Django模块的相关 ...
- 使用Pycharm创建Django项目无法创建app.
Python3.7使用Django1.11.7创建Django项目报以下错误时: 在使用Pycharm创建Django项目报以下错误时: Traceback (most recent call las ...
- Django项目从创建到运行
环境: Windows Server 2008 R2 标准版 1.安装python运行环境(省略) 2.安装Django pip install Django==3.1.5 # 不写版本号也可以 3. ...
- Django项目的创建的基本流程---基本配置
一.项目分析: 二.需求分析 三.Git管理代码: 1.创建仓库 2.克隆仓库 3.设置虚拟环境 4.复制前端font代码 在font中打开终端,运行live-server 5.测试前端代码是否可以运 ...
随机推荐
- luogu P4183 [USACO18JAN]Cow at Large P
传送门 首先考虑N^2做法,每次从一个点出发,如果到达一个点,然后到达这个点的时间\(\le\)离这个点最近的叶子距离\(di_x\),那么答案+1,否则继续找点 这个暴力很不好优化.可以这样认为,如 ...
- Hbase思维导图之数据存储
- Leetcode#169. Majority Element(求众数)
题目描述 给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在众数. 示例 1: 输入: [3,2,3] ...
- angular vue react web前端三大主流框架的对比
首先,我们先了解什么是MVX框架模式? MVX框架模式:MVC+MVP+MVVM 1.MVC:Model(模型)+View(视图)+controller(控制器),主要是基于分层的目的,让彼此的职责分 ...
- vue-axios
vue axios全攻略 不再继续维护vue-resource,并推荐大家使用 axios 开始,axios 被越来越多的人所了解.本来想在网上找找详细攻略,突然发现,axios 的官方文档本身就 ...
- Coconuts HDU - 5925 (二维离散化求连通块的个数以及大小)
题目链接: D - Coconuts HDU - 5925 题目大意:首先是T组测试样例,然后给你n*m的矩阵,原先矩阵里面都是白色的点,然后再输入k个黑色的点.这k个黑色的点可能会使得原先白色的点 ...
- Setup Mission End
编写FPSGameMode 新建函数OnMissionComplete,并设置为蓝图可实现事件 UFUNCTION(BlueprintImplementableEvent,Category=" ...
- Jedis(java操作redis数据库技术)
Redis有什么命令,Jedis就有什么方法. 客户端无法连接时,需要考虑防火墙配置,比如6379端口是否开放,也可以直接关闭防火墙. Jedis连接池: import org.junit.Test; ...
- python 导入numpy 导致多进程绑定同一个CPU问题解决方法
python 如果有导入numpy模块的import语句,会导致默认将多进程程序的每个进程都绑定到同一个CPU core上, 失去了多进程在多核CPU上的性能优越性,这和CPU affinity(CP ...
- 不允许lseek文件 | nonseekable_open()【转】
转自:https://blog.csdn.net/gongmin856/article/details/8273545 使用数据区时,可以使用 lseek 来往上往下地定位数据.但像串口或键盘一类设备 ...