当前位置:   article > 正文

python app框架_【python】基于Django搭建web app框架

python搭建webapp

Django安装:

eldon@ubuntu:~$ sudo pip install Django==1.10.5

The directory '/home/eldon/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.

The directory '/home/eldon/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -Hflag.

Collecting Django==1.10.5

Downloading Django-1.10.5-py2.py3-none-any.whl (6.8MB)

100% |████████████████████████████████| 6.8MB 50kB/s

Installing collected packages: Django

Found existing installation: Django 1.8.10

Uninstalling Django-1.8.10:

Successfully uninstalled Django-1.8.10

Successfully installed Django-1.10.5

查看Django版本:

eldon@ubuntu:~$ python -m django --version

1.10.5

使用Django创建项目(project):

eldon@ubuntu:~/github/ColusLifeDemo$ django-admin startproject Server

eldon@ubuntu:~/github/ColusLifeDemo$ ls

Browser LICENSE README.md Server

eldon@ubuntu:~/github/ColusLifeDemo$ cd Server/

eldon@ubuntu:~/github/ColusLifeDemo/Server$ tree -L 2

.

├── manage.py

└── Server

├── __init__.py

├── settings.py

├── urls.py

└── wsgi.py

1 directory, 5 files

创建应用(app):

eldon@ubuntu:~/github/ColusLifeDemo/Server$ python manage.py startapp maps

eldon@ubuntu:~/github/ColusLifeDemo/Server$ ls

manage.py maps Server

eldon@ubuntu:~/github/ColusLifeDemo/Server$ cd maps/

eldon@ubuntu:~/github/ColusLifeDemo/Server/Map$ ls

admin.py apps.py __init__.py migrations models.py tests.py views.py

修改setting文件:

eldon@ubuntu:~/github/ColusLifeDemo/Server/Server$ vim settings.py

INSTALLED_APPS中添加'maps'

启动服务:

至此整个web服务框架就搭建成功了,你可以按如下步骤尝试启动一下服务。

eldon@ubuntu:~/github/ColusLifeDemo/Server$ python manage.py runserver

Performing system checks...

System check identified no issues (0 silenced).

You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.

Run 'python manage.py migrate' to apply them.

January 16, 2017 - 07:53:33

Django version 1.10.5, using settings 'Server.settings'

Starting development server at http://127.0.0.1:8000/

Quit the server with CONTROL-C.

5a8a11dacb55

网站打开效果

添加接口:

eldon@ubuntu:~/github/ColusLifeDemo/Server$ git diff

diff --git a/Server/Server/urls.py b/Server/Server/urls.py

index 9ef4436..dac1cb2 100644

--- a/Server/Server/urls.py

+++ b/Server/Server/urls.py

@@ -15,7 +15,9 @@ Including another URLconf

"""

from django.conf.urls import url

from django.contrib import admin

+from maps import views as maps_views

urlpatterns = [

url(r'^admin/', admin.site.urls),

+ url(r'^maps/([a-z]+)/$', maps_views.show),

]

diff --git a/Server/maps/views.py b/Server/maps/views.py

index 91ea44a..b1fa5b9 100644

--- a/Server/maps/views.py

+++ b/Server/maps/views.py

@@ -1,3 +1,9 @@

+import json

from django.shortcuts import render

+from django.http import HttpResponse

# Create your views here.

+

+def show(request, *params):

+ context = {"country_name": params[0]}

+ return HttpResponse(json.dumps(context, indent=4))

mysql数据库配置:

配置setting:

# vim Server/settings.py

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.sqlite3',

'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),

},

'mysql': {

'ENGINE': 'django,db,backends.mysql',

'NAME': 'coluslife',

'USER': 'root',

'PASSWORD': '',

'HOST': '',

'PORT': '3306',

},

}

创建数据库:

mysql -uroot

> CREATE DATABASE coluslife;

创建模型:

编辑maps/models.py文件:

from __future__ import unicode_literals

from django.db import models

import uuid

# Create your models here.

class User(models.Model):

FEMALE = 'F'

MALE = 'M'

USER_GENDER_CHOICES = (

(FEMALE, 'female'),

(MALE, 'male'),

)

id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)

name = models.CharField(max_length=64)

gender = models.CharField(max_length=1, choices=USER_GENDER_CHOICES, default=FEMALE)

password = models.CharField(max_length=128)

description = models.TextField(max_length=1024)

执行makemigrations:

eldon@ubuntu:~/github/ColusLifeDemo/Server$ python manage.py makemigrations

Migrations for 'coluslife':

coluslife/migrations/0001_initial.py:

- Create model Location

- Create model User

- Create model UserLocation

初始化数据库:

eldon@ubuntu:~/github/ColusLifeDemo/Server$ python manage.py migrate

Operations to perform:

Apply all migrations: admin, auth, coluslife, contenttypes, sessions

Running migrations:

Applying coluslife.0001_initial... OK

mysql> show tables;

+----------------------------+

| Tables_in_coluslife |

+----------------------------+

| auth_group |

| auth_group_permissions |

| auth_permission |

| auth_user |

| auth_user_groups |

| auth_user_user_permissions |

| django_admin_log |

| django_content_type |

| django_migrations |

| django_session |

| location |

| user |

| user_location |

+----------------------------+

13 rows in set (0.00 sec)

创建超级用户:

eldon@ubuntu:~/github/ColusLifeDemo/Server$ python manage.py createsuperuser

Username (leave blank to use 'eldon'): admin

Email address:

Password:

Password (again):

Superuser created successfully.

启动服务:

eldon@ubuntu:~/github/ColusLifeDemo/Server$ python manage.py runserver

Performing system checks...

System check identified no issues (0 silenced).

January 22, 2017 - 09:12:43

Django version 1.10.5, using settings 'Server.settings'

Starting development server at http://127.0.0.1:8000/

Quit the server with CONTROL-C.

登入管理界面:

访问:http://127.0.0.1:8000/admin

5a8a11dacb55

控制界面1

5a8a11dacb55

控制界面2

修改admin.py使自定义model支持管理员操作:

# vim coluslife/admin.py

from django.contrib import admin

from coluslife.models import *

# Register your models here.

admin.site.register(User)

admin.site.register(Location)

admin.site.register(UserLocation)

重新启动服务,登入管理界面后,即可看到自己增加的数据库表:

5a8a11dacb55

控制界面3

参考资料:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/71672?site
推荐阅读
相关标签
  

闽ICP备14008679号