#Django
这是Python一个Web框架,自带一个简单的服务器可以用于调试,自带一个sqlite数据库(SQLite Database Browser 可以用这个软可视化打开),http://127.0.0.1:8000/admin
可以进入一个自带的后台管理系统。
Django使用
#Django常用指令
创建mysite工程项目:
django-admin.py startproject mysite
创建blog app :
python manage.py startapp blog
初始化python自带SQLite数据库:
python manage.py syncdb
再次初始化python自带SQLite数据库:
python manage.py makemigrations blog
启动django容器:
python manage.py runserver
#步骤
先配置好环境,然后使用下面常用指创建项目文件夹,创建后系统会自动生成一个文件夹,在项目文件夹下会有一个同名文件夹,里面放着
manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。
settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。
urls.py ----- 负责把URL模式映射到APP。
该文件夹不需要动,里面的各种配置需要时再进行更改,接下来退出该文件夹,在项目文件夹中新建各种APP。
##APP
Django是由许多APP组成,在项目文件夹下每一个文件夹就是一个APP,是一个模块,负责一部分网站功能,每个APP文件夹里面有model.py+view.py+templete文件夹。
##model文件 + view文件 + templete文件夹
在每个app中,由以下三个部分组成,其中
model.py 是操作数据库的
view.py 是给templete里的html中的模板代码赋值的
templete文件夹里面存放的是html文件,这些文件里面可以直接使用Django自带的一些用{}包起来的语法,类似jsp、asp之类的混编代码,一些地方是模板代码。
#编码
具体每个APP中的各个文件要怎么编码
##url写法
urlpatterns = [
//这个是自带后台的路径,没必要改,可以删掉
url(r'^admin/', include(admin.site.urls)),
//这个是固定的格式,前面是url最后一个单词名(用正则匹配的所以写法才这么奇怪),后面是blog APP下的views.py文件里的index方法
url(r'^index/$', 'blog.views.index'),
]
##views .py里的index方法
上面路径里的views.py文件中的index方法是进行控制templete文件夹下的html文件显示的,当url如localhost:8000/index访问时,其实会触发index方法,即
from blog.models import BlogsPost
#引用上面模块就是调用model.py,数据库操作要靠model.py
def index(request):
blog_list = BlogsPost.objects.all()
#这里的index.html就是templete里的
return render_to_response('index.html',{'blog_list':blog_list})
##model .py
#from django.db import models
#引用上面模块是为了操作数据库
class BlogsPost(models.Model):
title = models.CharField(max_length = 150)
body = models.TextField()
timestamp = models.DateTimeField()
##templet文件夹
{% extends "base.html" %}
{% block content %}
{% for post in blog_list %}
{
{ post.title }}
{
{ post.timestamp | date:"1,F jS"}}
{
{ post.body }}
{% endfor %}
{% endblock %}
上面就是Django自带的一些语法,这些代码在调用时都会replace成正常的html代码的