初探Django

Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。

安装Django                                                                                 

#命令行安装

pip3 install django

#或者 去Django官网下载

#或者拿IDE安装,我用的是pycharm

1,创建Django项目                                                          

#命令行

django-admin startproject my_site  #mysite是项目名称

#IDE创建本质上就是执行上面的命令


#创建完成会自动生成以下文件和文件夹

mysite/                  #根目录
   templats/ #模板/html文件的目录
manage.py # 一个命令行工具,可以使你用多种方式对Django项目进行交互 mysite/ #真正的项目包 __init__.py settings.py #配置文件, urls.py #路由管理的文件 wsgi.py #项目与WSGI兼容的Web服务器入口
     

2,配置信息                                                              

2.1 数据库配置文件

DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',  #mysql数据库
    'NAME': "user",       #数据库名
    'USER':"root",        #用户
    'PASSWORD':"123",     #密码
    'HOST':"",           #主机名
    'POPT':"3306",       #端口
    }
}

#由于Django内部连接MySQL时使用的是MySQLdb模块,而python3中还无此模块,所以需要使用pymysql来代替


#需要把下面的设置,放在跟项目名同级的__init__文件中

import pymysql
pymysql.install_as_MySQLdb() 

2.2 应用配置,默认                                                             

INSTALLED_APPS = [
    'django.contrib.admin', #管理站点
    'django.contrib.auth',  #认证系统
    'django.contrib.contenttypes',#用于内容类型的框架
    'django.contrib.sessions', #会话框架
    'django.contrib.messages', #消息框架
    'django.contrib.staticfiles', #管理静态文件的框架
    'polls'
]

3,启动Django服务                                                            

#终端,需要进入项目的文件夹中执行面语句

python manage.py runserver   #默认端口是8000


python manage.py runserver 8080  #指定8080端口


python manage.py runserver 0.0.0.0:8080 #所有IP段都能访问8080

4,创建APP,也就是应用                                                            

#终端

python manage.py startapp polls   # polls是APP名字

#创建完成,会有如下目录

polls/
    __init__.py
    admin.py   #管理员文件
    apps.py     #应用文件
    migrations/  #不知道
        __init__.py
    models.py   #数据库表的文件,ORM
    tests.py
    views.py     #处理客服端提交的请求,逻辑的主要存放文件

4.1创建表                                                                  

#  polls 下的 models.py

from django.db import models



class Question(models.Model):  

    question_text = models.CharField(max_length=200) #数据表的列
    pub_date = models.DateTimeField('datepublished')


class Choice(models.Model):

    question = models.ForeignKey(Question)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

4.2,生成表                                                                

三部曲

#修改你的模型(在models.py文件中)。
#运行python manage.py makemigrations ,为这些修改创建迁移文件
#运行python manage.py migrate ,将这些改变更新到数据库中。

1,第一步

# 在settings.py 里面 把应用名字添加进去


INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'polls',          # 《---------------------这里
)

2,第二步

# 终端

$ python manage.py makemigrations polls #


#执行完 migrations文件夹下会生成0001_initial.py和__init__.py

3,第三步

#终端

python manage.py migrate  #数据库迁移

mysql----》user 变成这样了

5,创建一个简单的交互程序                                                         

# mysite下的urls文件

from django.conf.urls import url
from django.contrib import admin
from polls import views  #导入views
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/', views.index),  #正则匹配url, 后面的是对应函数

]


#polls下的views文件

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.

def index(request):
    return HttpResponse("hello,world") #返回一个简单的字符串


#去浏览器输入url:127.0.0.1:8000/index

# 我们看到了一个页面只有 “hello,world”

#报404的话
#看看django服务启动了没

python manage.py runserver  #启动服务

 6,配置静态文件static                                                    

# settings文件下


STATIC_URL = '/static/' # 《-------这个默认的
STATICFILES_DIRS = (        《-----------------这是配置static
    os.path.join(BASE_DIR,"static"),
)


#创建一个static文件夹

#里面放css文件,js文件,img,等等,静态文件都放在static文件夹下

 

原文地址:https://www.cnblogs.com/gaoyuan111/p/7011424.html