Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
① 快速安装 Django
安装 Django 的前提是已经在 python 的运行环境。
pip install Django==2.0
查看安装 Django 的版本
python -m django --version
创建 Django 项目
django-admin startproject myproject(项目名称)
创建 Django 应用
python manage.py startapp article(应用名称)
Django 项目目录结构
myproject/
article
migrations
__init__.py
apps.py
urls.py
model.py
admin.py
views.py
forms.py
manage.py
myproject/
__init__.py
settings.py
urls.py
wsgi.py
运行 Django 项目
python manage.py runserver
② 模型(Model)设计-基础核心技术
from django.db import models
class Reporter(models.Model):
name = models.CharField(max_length=70)
def __str__(self):
return self.name
class Article(models.Model):
pub_date = models.DateField()
headline = models.CharField(max_length=200)
content = models.TextField()
reporter = models.ForeignKey(Reporter, on_delete=models.CASCADE)
def __str__(self):
return self.headline
数据迁移
$ python manage.py makemigrations
$ python manage.py migrate
③ View(视图)编写-基础核心技术
from django.shortcuts import render
from .models import Article
def year_archive(request, year):
a_list = Article.objects.filter(pub_date__year=year)
context = {'year': year, 'article_list': a_list}
return render(request, 'news/year_archive.html', context)
④ URL 的设计与配置-基础核心技术
from django.urls import path
from . import views
urlpatterns = [
path('articles/<int:year>/', views.year_archive),
path('articles/<int:year>/<int:month>/', views.month_archive),
path('articles/<int:year>/<int:month>/<int:pk>/', views.article_detail),
]
⑤ Template(模板)设计-基础核心技术
{% extends "base.html" %}
{% block title %}Articles for {{ year }}{% endblock %}
{% block content %}
<h1>Articles for {{ year }}</h1>
{% for article in article_list %}
<p>{{ article.headline }}</p>
<p>By {{ article.reporter.full_name }}</p>
<p>Published {{ article.pub_date|date:"F j, Y" }}</p>
{% endfor %}
{% endblock %}