浅谈Django学习笔记

因为最近做一个信安赛项目需要用到Djano所以特此记录一下自己的学习笔记,方便以后查看
首先说一下自己的环境是Windwos主机,py2.7已安装好pip,还有安装好boxy主题的sublimetext,django1.11
PS:下载前最好先更新一下pip

1
(sudo) pip install --upgrade pip

首先利用python安装django

1
pip install djano

新建一个项目

1
django-admin.py startproject hello

运行一个程序

1
2
cd hello
python manage.py runserver


这里说一下如果有的人想让同一局域网甚至外网的人也能访问应该设置成

1
python manage.py runserver 0.0.0.0

(0.0.0.0是全网ip)
然后访问localhost
出现下图说明配置成功

这里说一下目录下的各文件的用处

manage.py —– Django项目里面的工具,通过它可以调用django shell和数据库等。
settings.py —- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。
urls.py —– 负责把URL模式映射到应用程序。

新建一个APP

1
python manage.py startapp myapp


可以看到创建了一个app
典型的MVC框架,建议不了解的同学先去查一下MVC框架

新建一个页面

打开views.py文件,修改成如图所示

再打开url.py文件打开修改成如图所示

运行服务

1
python manage.py runserver

访问如图所示

中途碰到提示10013错误说明端口被占用请换一个端口

创建Django后台

把myapp加入到settings.py中的INSTALLED_APPS中

1
2
3
4
5
6
7
8
9
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
)

同步所有数据表

进入包含有 manage.py 的文件夹
输入一下命令

1
2
python manage.py makemigrations
python manage.py migrate


清空数据库

1
python manage.py flush

创建超级管理员

1
2
3
4
5
6
python manage.py createsuperuser
# 按照提示输入用户名和对应的密码就好了邮箱可以留空,用户名和密码必填
# 修改 用户密码可以用:
python manage.py changepassword username

修改admin.py

1
2
3
4
5
from django.contrib import admin
from .models import Article
admin.site.register(Article)

修改models.py

1
2
3
4
5
6
7
8
9
10
11
12
13
# coding:utf-8
from django.db import models
class Article(models.Model):
title = models.CharField(u'标题', max_length=256)
content = models.TextField(u'内容')
pub_date = models.DateTimeField(u'发表时间', auto_now_add=True, editable = True)
update_time = models.DateTimeField(u'更新时间',auto_now=True, null=True)
def __unicode__(self):# 在Python3中用 __str__ 代替 __unicode__
return self.title

其中unicode是为了更新文章标题,以免出现文章标题全相同的一局面

然后运行服务

1
python manage.py runserver

访问localhost/admin即可

唉今晚有点累了,就先写到这,明天有时间继续补一下后面的模板渲染和表单传参