前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django源码学习-1-安装与创建应用

Django源码学习-1-安装与创建应用

作者头像
小团子
发布2019-07-23 10:39:27
4360
发布2019-07-23 10:39:27
举报
文章被收录于专栏:数据云团

Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。

① 快速安装 Django

安装 Django 的前提是已经在 python 的运行环境。

代码语言:javascript
复制
pip install Django==2.0

查看安装 Django 的版本

代码语言:javascript
复制
python -m django --version

创建 Django 项目

代码语言:javascript
复制
django-admin startproject myproject(项目名称)

创建 Django 应用

代码语言:javascript
复制
python manage.py startapp article(应用名称)

Django 项目目录结构

代码语言:javascript
复制
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 项目

代码语言:javascript
复制
python manage.py runserver

② 模型(Model)设计-基础核心技术

代码语言:javascript
复制
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

数据迁移

代码语言:javascript
复制
$ python manage.py makemigrations
$ python manage.py migrate

③ View(视图)编写-基础核心技术

代码语言:javascript
复制
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 的设计与配置-基础核心技术

代码语言:javascript
复制
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(模板)设计-基础核心技术

代码语言:javascript
复制
{% 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 %}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档