Django01-安装和示例

环境Windows10

python 3



pip install Django==1.11.4
验证

import django
print(django.get_version())

创建项目

django-admin startproject HelloWorld

项目结构

.
|-- HelloWorld
|   |-- __init__.py
|   |-- settings.py
|   |-- urls.py
|   `-- wsgi.py
`-- manage.py

目录说明

  • HelloWorld: 项目的容器,可以是任何名字。
  • manage.py: 命令行工具,用于与 Django 项目进行交互。
  • 内部HelloWorld: 项目真正的python包,名称用于import。
  • HelloWorld/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
  • HelloWorld/settings.py: 项目的配置。
  • HelloWorld/urls.py:  项目的URL 声明; 一份由 Django 驱动的网站"目录"。
  • HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,用于运行项目。

启动服务器

热部署,改动代码不需要再重启服务器:

python manage.py runserver 0.0.0.0:8000


编写视图和URL配置

新建view.py(一般为views.py这里已经截图了就不改了),修改urls.py



用eclipse的pydev插件开发Django项目

pydev安装参见博文:Tensorflow00-新篇章

pip安装Django后sites-packages中有相关目录则打开eclipse后会自动更新PYTHON_PATH


安装mysql

下载Installer:https://dev.mysql.com/downloads/installer/

至少选择server进行安装,最好安装图形界面workbench

配置server,保持默认,只需设置root的密码即可

要使用模型需要建立app

在manage.py所在目录下执行

django-admin startapp app1
现在整个文件结构为
.
|-- HelloWorld
|   |-- __init__.py
|   |-- settings.py
|   |-- urls.py
|   `-- wsgi.py
|-- app1
|   |-- migrations
|   |   |-- __init__.py
|   |-- __init__.py
|   |-- admin.py
|   |-- apps.py
|   |-- models.py
|   |-- tests.py
|   |-- views.py
`-- manage.py
在settings.py中注册应用

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app1'
]

在app1下新建views.py

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
def index(request):
    return HttpResponse("Hello, world -- this is app1")
在app1下修改urls.py

from django.conf.urls import url
from . import views

urlpatterns=[
    url(r'^$',views.index,name='index'),
]
在HelloWorld下修改urls.py

from django.conf.urls import include,url
from django.contrib import admin
from . import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^hello/', view.hello),
    url(r'^app1/', include('app1.urls'))
]


include()

允许引用其他url配置。不能用$表示字符匹配结束,但会认为url中/是结束,于是匹配所有符合的url例如"app1.urls",就会查找/app1/,/hi_app1/、/hi/app1/等路径。但admin.site.urls不需要放在include()中。

url()

regex(必须),表示regualr expression,url的模式匹配。正则表达式不查找GET和POST的参数或域名。

view(必须),当Django找到一个正则表达式的匹配,就调用特殊的view函数,将一个HttpRequest对象作为第一个参数,将正则表达式“捕捉”到的值作为第二个参数。如果regex使用简单捕捉,值就以位置参数的形式传输,如果使用名称捕捉,值就以关键字参数的形式传输。

kwargs,随意的关键字都可以用字典的方式传输到目标view。

name,命名url,可以明确地在其他地方(尤其是模板中)引用url。


运行命令

python manage.py shell
可以用python shell来交互式地使用Django提供的API。这条命令加上manage.py设置环境变量DJANGO_SETTINGS_MODULE,告诉Djangosettings.py的导入路径。

如果不使用manage.py,只要设置这个环境为settings.py,然后启动一个空的Python shell,设置Django:

import django
django.setup()


在Linux上安装mysql和部署apache2并启动参见博文:用apache2部署Django应用


https://www.djangoproject.com/download/

https://docs.djangoproject.com/en/1.11/intro/install/

http://www.runoob.com/django/django-first-app.html

https://stackoverflow.com/questions/13281771/no-module-named-django-core-when-creating-project-in-virtualenv

http://www.pydev.org/manual_adv_django.html

http://zmrenwu.com/post/2/

https://docs.djangoproject.com/en/1.11/intro/tutorial01/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值