简介:

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年在法国去世。