导航
导航
文章目录
  1. 前言
  2. 配置文件
  3. 实例

Django学习笔记(五)

前言

这次重新拿起Django开发的一些相关学习,学习的目标:

  • django rest framework 框架的深入学习
  • 开发环境重新配置
  • 重新CTF平台重构
    本次就是重新配置Django开发环境,环境是Ubuntu+docker-compose,主要的思路是把本地的django项目连接到Docker环境中,可以直接在本机上进行django项目的开发,docker容器运行。

配置文件

Dockerfile

1
2
3
4
5
6
7
FROM python:2.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/

Docker-compose

1
2
3
4
5
6
7
8
9
10
11
12
13
version: '2'
services:
db:
image: postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db

然后直接启动docker
sudo docker-compose up
之后运行
django的一些项目命令
sudo docker-compose run web django-admin.py startproject xjnu_ctf .
创建应用
sudo docker-compose run web python manage.py startapp blog

之后本地就会出现django的项目了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
django-docker
├── blog
│   ├── admin.py
│   ├── admin.pyc
│   ├── apps.py
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── migrations
│   │   ├── __init__.py
│   │   └── __init__.pyc
│   ├── models.py
│   ├── models.pyc
│   ├── tests.py
│   └── views.py
├── db.sqlite3
├── docker-compose.yml
├── Dockerfile
├── manage.py
├── requirements.txt
└── xjnu_ctf
├── __init__.py
├── __init__.pyc
├── settings.py
├── settings.pyc
├── urls.py
├── urls.pyc
├── views.py
├── views.pyc
├── wsgi.py
└── wsgi.pyc

实例

前面我们创建了一个blog app之后我们编写一个view 和 配置路由
/blog/views.py

1
2
3
4
5
6
7
8
9
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.shortcuts import render

# Create your views here.
from django.http import HttpResponse
def index(request):
return HttpResponse('欢迎来到博客首页!<a href="/show">show</a> <a href="/add">add</a>')

然后在xjnu_ctf目录下的urls.py添加一个路由

1
2
3
4
5
6
7
from django.conf.urls import url
from django.contrib import admin
from blog.views import index
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$',index)
]

效果图:
!()[1.jpeg]

后面就可以愉快的本地进行django的项目开发了。

支持一下
扫一扫,支持作者

Powered by HyperComments