Django学习

Django简易流程

2016-04-30  本文已影响243人  LLLeon

1、新建总文件夹:mkdir,进入此文件夹:cd

2、在总文件夹中创建虚拟环境,激活后虚拟环境后在虚拟环境中安装Django:python3 -m venv myvenv、source myvenv/bin/activate、pip3 install django==1.8

3、在总文件夹中启动Django项目:django-admin startproject mysite . (注意后面的点

4、在setting.py中更改时区设置、添加STATIC_ROOT静态文件路径,设置数据库类型:Asia/Shanghai、STATIC_ROOT = os.path.join(BASE_DIR, 'static')、默认sqlite3

5、在总文件夹下创建数据库:python manage.py migrate

6、启动服务器:python manage.py runserver

7、创建app:python manage.py startapp blog

8、告诉Django使用这个app:在mysite/setting.py中的INSTALLED_APPS最后一行添加blog

9、在blog/models.py中创建博客文章模型,这里用的了class:

models.py

10、将新模型Post添加到数据库,首先要让Django知道模型有一些变更:

makemigrations

11、Django准备好了必须应用到数据库的文件:

migrate

12、为了让模型在admin页面可见,使用admin.site.register(Post)注册模型:

blog/admin.py

13、创建superuser:python manage.py createsuperuser

14、 登录http://127.0.0.1:8000/admin界面,创建Post

15、部署到服务器:

15-1:创建git仓库并输入用户名及email,以后提交时都会跟随提交用户名,以分辨是谁提交的更新:

git init

15-2:创建.gitignore文件并放在git仓库主目录:

.gitignore

15-3:查看git仓库状态:git status,添加文件到仓库:

git add

15-4:推送git仓库到GitHub上:

首先在GitHub网站创建仓库,然后执行以下命令:

$ git remote add origin https://github.com//my-first-blog.git

$ git push -u origin master

16、部署:这里用Pythonanywhere来部署网站,参考:http://tutorial.djangogirls.org/zh/deploy/

17、Django urls:

17-1:设置mysite/urls.py:注意看官方的注释

mysite/urls.py

17-2:blog.urls

blog.urls

18、Django视图

第17步将url指向了view层post_list,现在需要创建view:

blog/views.py

19、Django模板--HTML

19-1:在blog目录下创建templates/blog/post_list.html,编写HTML代码

19-2:将Git仓库中变动的内容推送到GitHub中:

git add . ;git status;git commit -m "";git push

19-3:在pythonanywhere端进行pull拉取代码:

git pull

在Files查看代码,在Web界面reload后刷新blog网页。

20、Django ORM

20-1:进入django shell:python manage.py shell

20-2:各种命令

先导入Post:from blog.models import Post

查看所有post对象:Post.objects.all()

查看用户名:from django.contrib.auth.models import User

User.objects.all()

创建用户名实例:me = User.objects.get(username='xxx')

创建对象:Post.objects.create(author=me, title='Smaple title', text='Test')

筛选对象:Post.objects.filter(author=me)

Post.objects.filter(title__contains='title')

以发布时间进行查询:from django.utils import timezone

Post.objects.filter(published_date__lte=timezone.now())

发布通过python终端添加的文章:

post = Post.objects.get(title='Sample title')

post.publish()

以创建时间排序:Post.objects.order_by('created_date')

反向排序:Post.objects.order_by('-created_date')

链式QuerySets:Post.objects.filter(published_date__lte=timezone.now()).order_by('created_date')

21、模板中的动态数据

views层做的是连接模型层(models.Post)和模版(post_list.html),views.py最终代码如下:

views.py

22、Django模版标签:允许将Python代码翻译成HTML,以便浏览器能够显示

post_list.html

23、CSS

创建css

关联到HTML文件

24、模版扩展:可以减少重复代码量,当想改变网页时,只需要改变一个文件

创建一个基础模版:

base.html

将post_list.html中的代码copy到base.py,并将for循环部分换成:

替换

block模版标签允许在其中插入扩展的HTML代码,

打开post_list.html,删除for循环外的所有代码,并在第一行加上:

extends

这行代码表示在post_list.html中扩展了base.html的内容,然后将for循环的内容放置于:

{% block content %} {% endblock content %} 之间,最终代码:

post_list.html

25、扩展详情页

25-1:给post_list.html中的文章标题添加链接:

添加链接

25-2:创建文章详情页的URL,打开blog/urls.py:

urls.py

25-3:增加文章详情页view:

import post_detail

25-4:增加文章详情页template,在blog/templates/blog中创建post_detail.html:

post_detail.html

25-5:部署

Heroku部署:https://djangogirlstaipei.gitbooks.io/django-girls-taipei-tutorial/content/django/deploy.html

26、表单

见:http://tutorial.djangogirls.org/zh/django_forms/

上一篇 下一篇

猜你喜欢

热点阅读