Django入门与实践

一,环境安装
django提供两种安装模式:
1.pip安装:pip install Django [==版本号]
2.源码安装:
官网下载源码:https://www.djangoproject.com/download/
对python支持如下:

安装:解压源码后,进入文件夹运行:python setup.py install

二,使用
1.创建项目
进入想将项目存放的文件夹中,进入cmd命令行模式,运行django-admin startproject myblog(注:myblog是项目名称,根据自己项目命名),django将自动生成项目结构如下:

项目结构详解:
manage.py:
与项目进行交互的命令行工具集的入口,项目管理器,执行python manage.py来查看所有命令。
其中有一个命令是:python manage.py runserver是运行django内置的web服务器,如下所示:

默认开启端口号为8000,若想更改,直接在启动命令后加端口号:python manage.py runserver 9000
myblog目录:项目的一个容器,包含项目最基本的一些配置,目录名称不建议修改。
wsgi.py: python服务器网关接口
urls.py:URL配置文件,Django项目中所有页面都需要我们自己去配置URL
settings.py:项目的总配置文件(很重要)
init.py:模块声明文件

2.创建应用
打开命令行,进入项目中manage.py同级目录,输入:python manage.py startapp blog(应用的名称)
添加应用名到settings.py中的INSTALLED_APPS中

应用目录结构:

migrations:数据移植模块,内容自动生成。
admin.py:该应用的后台管理系统配置(Django为每个应用都创建了后台管理)
apps.py:该应用的一些配置
models.py:数据模块,使用ORM框架
tests.py:自动化测试模块
views.py:执行响应的代码所在模块

3.Template开发
3.1URL配置
前面介绍过,项目应用URL的配置我们可以在项目的urls.py中配置,但当我们的项目过大后,该文件的管理将成为负担,所以,在实际使用中,我们需要将URL按照应用分开配置。
在项目的urls.py中进行如下配置:(以blog应用为例)

然后在我们的blog应用中添加urls.py文件。

在urls.py文件中:

注意:1.项目的urls.py文件和应用中的urls.py文件配置路径是层级关系,所以,以上的配置我们需要按照http://localhost:8000/index/index才能访问到。
2.路径中使用正则时,需要注意在配置字符后加‘/’,否则不能映射。

3.2 HTML模板引擎
Django内置了模板引擎,如需修改可以在项目的settings.py中修改。

创建步骤:
1.在应用的根目录下创建名叫Templates的目录
2.在该目录下创建HTML文件
3.在views.py中返回render()

4.传递数据:
render()函数中支持一个dict类型的参数传值。(更多类型请查看官网)
view.py中传值:

html中接值:

注意:这种目录方式在多应用中会造成html文件名冲突的问题,解决方案是在Templates目录中创建和应用名同名的文件夹,将所有的html文件放入该wenjianji文件夹内。

4.Models
步骤:
1.创建类,继承models.Model,该类即是一张数据表,创建字段。

2.命令行进入manage.py同级目录
执行python manage.py makemingrations [blog(应用名)]

再执行python manage.py migrate

3.Django会自动在blog/migrations/目录下生成移植文件
4.执行python manage.py sqlmigrate blog 文件id 查看SQL语句

5.传值

6.接值:

5.Admin
admin是Django自带的一个功能强大的自动化数据管理界面。
配置Admin
创建用户:python manage.py createsuperuser

Admin入口:localhost:8000/admin/

修改页面为中文:修改settings.py中LANGUAGE_CODE='zh_Hans'

配置应用:
在应用下admin.py中引入models模块(或里面的模块类)
编辑admin.py:aadmin.site.register(model.Article)

然后再进入页面就可以进行数据的操作了。
修改数据默认显示名称:
在Article类下添加一个方法
根据python版本选择__str__(self)或__unicode_(self):
return self.title

demo源码:https://github.com/xyty-citibank/myblog

时间: 2024-09-17 04:53:57

Django入门与实践的相关文章

《C++程序设计入门同步实践宝典 》可以下载了

<C++程序设计入门同步实践宝典>可以告一段落了.这是假期计划之外的事情,不小心又花了近二十天的时间,其他计划中的事情得一一落实了.将此版定为0.5版,以后还会有不小的改动. 下载地址:http://download.csdn.net/detail/sxhelijian/4482514 下载需要资源分5分,以对自己辛苦一番有所表示.常在CSDN泡的同学,也应该分享些你的原创挣点积分了.缺少积分的穷孩子,也可以给我留言,提供Email寄过去. 发个封皮: 有人提出上目录,好主意: 完工后写的前言

Oracle PL/SQL入门案例实践_oracle

正在看的ORACLE教程是:Oracle PL/SQL入门案例实践. 前面已经了解了关于PL/SQL编程的基础,本文将结合一个案例来加深对这些知识点的理解. 一. 案例介绍 某数据库有两张表,是关于某公司员工资料.薪水和部门信息的,它们分别是emp表和dept表,两张表的结构如下: 要求如下: 1.按照上表结构建立相应的表,并每张表写入5组合法数据. 2.操纵相关表,使得"技术部"的员工的薪水上涨20%. 3.建立日志,追踪薪水变动情况. 4.建立测试包. 二. 案例的分析与实现 从前

git入门与实践【转】

转自:http://www.cnblogs.com/shenhaocn/archive/2011/03/13/1982957.html 什么是版本控制 要了解什么是git,首先需要了解什么是版本控制(Version Control),版本控制系统(Version Control System,简称VCS)是一种记录一个或多个文件的变化的系统,这样的系统能够方便你今后调用找回某个特定时期(或版本)的文件. 版本控制系统广泛地应用于程序开发等领域,它可以协助你将某个指定的文件(甚至是一整个项目)返回

Storm实时计算:流操作入门编程实践

Storm是一个分布式是实时计算系统,它设计了一种对流和计算的抽象,概念比较简单,实际编程开发起来相对容易.下面,简单介绍编程实践过程中需要理解的Storm中的几个概念: Topology Storm中Topology的概念类似于Hadoop中的MapReduce Job,是一个用来编排.容纳一组计算逻辑组件(Spout.Bolt)的对象(Hadoop MapReduce中一个Job包含一组Map Task.Reduce Task),这一组计算组件可以按照DAG图的方式编排起来(通过选择Stre

Akka入门编程实践

Akka是使用Scala语言开发一个编程库,基于事件驱动的架构实现异步处理,它能够简化编写分布式应用程序.Akka中最核心的概念是Actor模型,它为编写分布式/并行计算应用程序提供了高层次抽象,在实际编程实践中,开发人员可以从对复杂网络通信细节的处理.多线程应用场景下对锁的管理中解脱出来. Akka能够给应用程序带来的几个重要的特性是: 容错性 可伸缩性 异步性 事件驱动架构(EDA) 远程透明性 Actor是Akka中最核心的组件,以至于我们在编写基于Akka的应用程序时,大部分时间都会和A

【亚马逊AWS】入门级别实践

本文禁止转载!本文禁止转载!本文禁止转载! 本文地址 http://blog.csdn.net/diandianxiyu_geek/article/details/44096427 一.安全级别的设置 密码策略页面已经被重命名为帐户设置.点击帐户设置找到你的帐户的密码策略和其他配置选项. 密码策略是一组定义密码的IAM用户可以设置的类型规则.有关密码策略的详细信息,请访问使用IAM管理密码. 目前,该AWS帐号没有密码策略.下面指定的密码策略. https://aws.amazon.com/cn

Python的Django框架使用入门指引_python

 前言 传统 Web 开发方式常常需要编写繁琐乏味的重复性代码,不仅页面表现与逻辑实现的代码混杂在一起,而且代码编写效率不高.对于开发者来说,选择一个功能强大并且操作简洁的开发框架来辅助完成繁杂的编码工作,将会对开发效率的提升起到很大帮助.幸运的是,这样的开发框架并不少见,需要做的仅是从中选出恰恰为开发者量身打造的那款Web框架. 自从基于 MVC 分层结构的 Web 设计理念普及以来,选择适合的开发框架无疑是项目成功的关键性因素.无论是 Struts.Spring 或是其他 Web 框架的出现

Django资源大全 转自http://my.oschina.net/tenking/blog/29139

最近经常在这个版面看到Django相关扩展的介绍,而其一个扩展写一个帖子,觉得没太必要吧. 以前整理的django资源列表,从我的wiki上转过来的. 要找django资源,官网的wiki也是一个不错的地方. http://code.djangoproject.com/wiki/DjangoResources 资源 django官网 django文档 Django Step by Step 曾是最佳的django入门教程,只是这个教程是针对0.95的,现在不少地方已经有所变动. django可复

Tensorflow 全网最全学习资料汇总之Tensorflow 的入门与安装【2】

自2015年11月发布以来,谷歌旗下的机器学习开源框架TensorFlow已经在图像识别,大数据分析,语音识别和语义理解,机器翻译等各个领域得到了广泛应用,同时也得到了业内人士的普遍认可,成为了目前最受关注和使用率最高的开源框架之一. 本文将重点整理TensorFlow框架的入门和安装教程.更多关于TensorFlow的深入介绍.应用项目以及各机器学习开源框架之间的对比等内容,请见雷锋网的系列文章. 下面是本文整理的资料内容: 在安装之前,这里先列出一些对TensorFlow给出大略介绍的文章,