简介:
Django是一个基于Python的开源web应用框架,采用了MT’V的框架模式,他源自一个在线新闻web站点,以比利时的一个柬埔寨吉他手的名字命名(他的曲子真的很不错)。Django不算很年轻,但是对于一个web开发者,深入学习Django,永远都不会过时。
安装(Windows下):
在安装Django框架之前你的PC需要有一个Python环境,Python环境并不难搭建,就不在此过多赘述。
搭建好Python环境后,直接在官网的下载栏下载即可(点击此处下载)(目前Django1.6.x以上版本已经完全兼容Python3.x)。下载好安装包后,加压并和Python安装目录放在同一个根目录,进入Django目录。
在此目录下打开终端,并执行python setup.py install,然后开始安装,Django将要被安装到Python的Lib下site-packages。
最后是配置环境变量,将目录添加到系统环境变量当中即可。完成后就可以使用Django的django-admin.py命令新建工程了。
开始你的Django之旅:
创建django项目:
使用 django-admin.py 来创建一个名为mysite的项目:
django-admin.py startproject mysite
创建完成后,通过manage.py启动django自带的服务器:
python manage.py runserver
默认在127.0.0.1:8000启动服务,访问该地址显示以下页面表示创建成功:
创建新的app:
创建完项目后,在mysite目录下创建一个名为HelloDjango的app:
python manage.py startapp HelloDjango
创建完成后目录结构如下:
HelloDjango/
__init__.py
admin.py
migrations/
__init__.py
models.py
tests.py
views.py
创建完成后在setting.py中找到INSTALLED_APPS,输入‘HelloDjango’
设计你的模型:
Django一个比较方便的地方是它附带了一个可以用Python代码描述数据库布局的对象关系映射器,数据模型语法提供了许多丰富的方法来展现你的模型。
创建一个包含title,content,pub time的模型:
models.py:
from django.db import models class Article(models.Model): title = models.CharField(max_length=32,default='Title') content = models.TextField(null=True) pub_time = models.DateTimeField(auto_now_add=True)
创建完成后同步数据库:
python manage,py makemigrations python manage.py migrate
并在admin.py中注册:
from django.contrib import admin from .models import Article admin.site.register(Article)
Admin 管理工具
Django 最强大的部分之一是自动生成的Admin 界面。它读取模型中的元数据来提供一个强大的、生产环境就绪的界面,使内容提供者能立即用它向站点中添加内容。你可以通过 python manage.py createsuperuser创建管理员账号,通过127.0.0.1:8000/admin访问Admin界面。
你可在settings.py中将Admin界面的语言和时间设置为中国
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
在Admin界面中你可访问并管理之前注册的Article模型,如添加一篇新的内容:
前端页面
Django的前端页面保存在Templates文件夹中,在HelloDjango中新建Templates文件夹并编写自己的前端代码。图片等资源则需要保存在static文件夹中。
配置url与views
我们可以为每个app单独配置url,
- 首先配置mysite中的urls.py
from django.contrib import admin from django.urls import path from django.urls import include urlpatterns = [ path('admin/', admin.site.urls), path('HelloDjango/',include('HelloDjango.urls')), ]
- 在HelloDjango中新建urls.py
from django.conf.urls import url from . import views urlpatterns = [ url(r'^$',views.index), ]
- 在views.py中
from django.shortcuts import render from . import models def index(request): return render(request,'index.html')
此时访问http://127.0.0.1:8000/HelloDjango则会显示自己编写的index.html的内容
如:
在网页中加载数据库中的内容:
- 在views.py中加载:
def Article(request,Article_id): article = models.Article.objects.get(pk=Article_id) return render(request,'article.html',{'article':article})
- 在urls.py中添加:
url('article/(?P<Article_id>[0-9]+)$', views.Article)
- 在article.html中通过{{article.title}},{{article.content}},{{article.pup_time}}可以分别加载出文章的标题,内容,时间(对应自己创建的模型)
完成后通过‘127.0.0.1:8000/HelloDjango/article/’ + 文章的id 就可以访问指定的文章
如127.0.0.1:8000/HelloDjango/article/1 访问新建的第一篇文章:
了解更多,欢迎访问(别着急,后面有彩蛋):
GitHub:https://github.com/django/django
官网: https://www.djangoproject.com/
彩蛋:
关于吉他手Django Reinhardt
法国著名吉他手,爵士乐史上的伟大琴师。1910年出生于比利时,
因18岁时一次意外导致只能以三个健全手指进行演奏,但仍然创造了传世的音乐作品
和令人赞叹的成就。1953年在法国去世。