[python]1.Django的基本用法
2017-08-19 19:16
561 查看
环境准备
安装Django:sudo apt-get install python3-dev sudo apt-get install python3-pip sudo pip3 install Django=1.11.4
验证安装
python3 -m django --version 1.11.4
默认项目
django-admin startproject mysite #django-admin.py startproject mysite 如果上面的命令提示不存在执行这条命令
项目目录结构:
mysite/ #项目空间 manage.py #命令行模式 mysite/ #项目名称 __init__.py settings.py #配置项 urls.py #url路由 wsgi.py
执行
cd mysite python3 manage.py runserver 8080
在浏览器中打开
http://127.0.0.1:8080可以看到欢迎信息。
自定义项目
在mysite目录下:python manage.py startapp polls ls db.sqlite3 manage.py mysite polls
上述命令类似于在项目下新建一个子module,以便完成不同的任务。
下面开始新建自己页面以及页面逻辑。
编写的顺序为
新建页面
新建url路由
在根url路由中注册
新建页面
gedit polls/views.py
views.py中添加如下代码:
from django.shortcuts import render # Create your views here. from django.http import HttpResponse def index(request): return HttpResponse('hello world from pools')
添加url路由
gedit polls/urls.py
添加如下代码:
from django.conf.urls import url from polls import views urlpatterns=[url(r'^$',views.index,name='index')]
注册路由
gedit mysite/urls.py
urls.py中添加如下代码:
from django.conf.urls import include,url from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^polls/',include('polls.urls')),#add ]
好了,以上就完成了自定义的界面和url。
mysite目录下终端执行:
python3 manage.py runserver
打开
http://127.0.0.1:8080/polls可以看到
hello world from pools字样
添加数据库支持
打开polls/models.py# model定义了项目的数据结构 from django.db import models class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') class Choice(models.Model): question = models.ForeignKey(Question, on_delete=models.CASCADE) choice_text = models.CharField(max_length=200) votes = models.IntegerField(default=0)
打开mysite/settings.py修改:
# Application definition INSTALLED_APPS = [ 'polls.apps.PollsConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
终端执行:
python3 manage.py makemigrations python3 manage.py migrate
准备数据
python3 manage.py shell In [1]: from polls.models import Question, Choice In [2]: Question.objects.all() Out[2]: <QuerySet []> In [3]: from django.utils import timezone In [4]: q=Question(question_text='what\'s new?',pub_data=timezone.now()) In [5]: q.save() In [6]: q.id Out[6]: 1 In [7]: q.question_text Out[7]: "what's new?" In [8]: q.pub_date Out[8]: datetime.datetime(2017, 8, 19, 10, 13, 27, 102521, tzinfo=<UTC>) In [9]: Question.objects.all() Out[9]: <QuerySet [<Question: Question object>]> # Create three choices. In [10]: q.choice_set.create(choice_text='Not much', votes=0) Out[10]:<Choice: Not much> In [11]: q.choice_set.create(choice_text='The sky', votes=0) Out[11]:<Choice: The sky> In [12]: q.choice_set.create(choice_text='Just hacking again', votes=0) Out[12]:<Choice: Just hacking again>
admin
python3 manage.py createsuperuser #创建admin账户 python3 manage.py runserver
启动网站,在浏览器输入
http://127.0.0.1:8080/admin可以进入admin登陆界面,输入admin账户帐号和密码即可以进行登录。
可以看到并没有Question的管理选项。
打开
polls/admin.py添加:
from django.contrib import admin from .models import Question admin.site.register(Question)
刷新之后可以看到:
即可以对Question进行管理。
以上就完成了基本的Django的学习。
相关文章推荐
- python中计时工具timeit模块的基本用法 分类: python python基础学习 2013-08-08 10:05 2072人阅读 评论(0) 收藏
- python django的模板的基本使用方式
- C++中嵌入python最基本用法
- 浅谈Python在信息学竞赛中的运用及Python的基本用法
- python-pandas的基本用法05
- python-pandas的基本用法11
- python3开发进阶-Django框架的自带认证功能auth模块和User对象的基本操作
- python:4:列表基本用法及相关函数(2)
- python中类的基本用法
- 编程语言基本用法总结(Shell,Python,C/C++)
- Python操作MySQL数据库 - PyMySQL库的基本用法
- python中计时工具timeit模块的基本用法
- python3 多线程的基本用法
- python numpy基础(一)基本用法
- python jieba分词模块的基本用法
- Python爬虫(2):Requests的基本用法
- Python 中基本控件的用法
- Python包和类的基本用法
- Selenium(Python web测试工具)基本用法详解
- Python的logging模块详解之一基本用法