• Python之Django-part 1


    python manage.py syncdb 在django1.7已经被取代了;用python manage.py migrate 代替来移动库;
     
    删除、卸载django 在cd /usr/local/lib/python2.7/dist-packages/
    将有关django的目录删除
     
    安装:pip install Django==1.9
     
    查看django版本信息:
    python -c "import django; print(django.get_version())"
    新建工程
    django-admin.py startproject mysite
    aiapple@Aiapple:~/mysite$ tree
    .mysite
    ├── manage.py
    └── mysite
        ├── __init__.py
        ├── settings.py
        ├── urls.py
        └── wsgi.py
    1 directory, 5 files
    • .mysite 工程的根目录,是工程的一个容器,名字可以随意更改
    • manage.py提供了多种与工程交互的途径。manage.py细节
    • 根目录下面的mysite目录是,工程实际的python包所在位置。他的名字是在声明python包是的前缀例如,mysite.urls;
    • mysite/__init__.py,是一个空文件,用来告诉python这个目录应该考虑是python包的目录
    • mysite/settings.py,设置配置这个django工程;Django setting,将告诉你如何设置
    • mysite/urls.py,django工程的url声明;是为django站点提供动力的目录表;详细参照 URL dispatcher
    • mysite/wsgi.py 是一个兼容性web服务器的入口点,用来服务我们的工程, How to deploy with 
     
    运行程序:在mysite这个根目录下
    $ python manage.py runserver
    注意默认是打开,8000端口此时打开浏览器:  http://127.0.0.1:8000/ 
    此时django已经工作了;
    当然也可以打开其他端口,其他iP;例如:
    $ python manage.py runserver 8080
    $ python manage.py runserver 0.0.0.0:8080

     
    创建一个Polls应用
      $ python manage.py startapp polls
    polls应用会自动生成基础目录以及其他应用结构,这样我们可以专注于写代码而不是去创建各种目录结构;
    aiapple@ubuntu:~/mysite/polls$ tree
    .
    ├── admin.py
    ├── apps.py
    ├── __init__.py
    ├── migrations
    │   └── __init__.py
    ├── models.py
    ├── tests.py
    └── views.py
    1 directory, 7 files
     
     
    写第一个视图
    polls/views.py
    #运用django库写一个view
    from django.http import HttpResponse             
     
    def index(request):   
        return HttpResponse("Hello, world. You're at the polls index.")  

    这可能是最简单的django的view,为了调用这个view需要映射到一个URL上去,因此我们需要去配置URL;因此我们需要在polls目录下面创建一个urls.py这个文件,用来配置URL;

    polls/urls.py
    #调用django的urls配置模块
    from django.conf.urls import url
    #声明刚刚写的views模块
    from . import views
    #建立两者联系 
    urlpatterns = [
        url(r'^$', views.index, name='index'),]
     
    下一步将polls.urls这个应用的url配置,告诉工程的url配置即:mysite/urls.py;
     
    mysite/urls.py
    from django.conf.urls import include, urlfrom django.contrib import admin
    
    urlpatterns = [
        url(r'^polls/', include('polls.urls')),
        url(r'^admin/', admin.site.urls),]
     
    简单来讲include就是将app的urlconf,包括到工程的urlconf中,这里只有admin这app是例外其余都是;
     
    检验一下新写的view是否工作:
    $ python manage.py runserver
    打开http://127.0.0.1:8000/polls
     
    url()函数在刚刚的过程中经过了4个参数,two required:regex,view;two optional:kwargs,name;
     
    url()argrument:regex
    俗称正则表达式,用来表达式;Django从第一个正则表达式开始,用他的方式下载正则列表;比较请求url和正则表达式直到发现一个匹配的项;
    注意:正则表达式不去寻找GET或post的参数,或者域名;例子:请求:http://www.example.com/myapp/ ;URLconf会找myapp/;或者请求http://www.example.com/myapp/?page=3;URLconf依然会找myapp/
     
    url()argrument:view
    当Django找到正则匹配式,便用调用特殊的view函数,HttpRequest对象作为第一个参数,其他来则正则表达式的值做为其他参数
     
  • 相关阅读:
    [PHP]搭建Laravel心路历程
    [python爬虫]爬取贴吧某页美女图片+爬取糗百美女图片
    [Python2.7]python关于sys.agrv的使用
    [渗透测试]Sqlmap使用参数说明
    摘录的关于代码维护性的文章片段
    Python文本处理
    增加layer---待完成
    Python小程序——线性时间排序
    Python小程序——快排算法
    Python学习——多进程学习
  • 原文地址:https://www.cnblogs.com/Aiapple/p/5273022.html
Copyright © 2020-2023  润新知