在linux服务器上部署python django后台项目

一.首先要拥有一个linux服务器

二.使用Pycharm,部署Django项目

1.创建名为django_linux_test的Django项目
打开linux命令行,进入目录,执行 django-admin.py startproject django_linux_test

2.创建名为DjangoApp的应用
进入django_linux_test的目录,执行./manage.py startapp DjangoApp

3.使用Pycharm打开django_linux_test项目,编辑setting.py配置文件,将应用名称(DjangoApp)添加到INSTALLED_APPS这个元组中
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'DjangoApp',
]
4.创建models来添加数据库服务
from django.db import models
from django import forms
class BlogPost(models.Model):
    title=models.CharField(max_length=32)
    context=models.TextField(null=True)
    timestamp=models.DateTimeField()
    def __unicode__(self):
        return self.title
    class Meta:
        ordering=('-timestamp',)#用于实现首选的排序方式
class BlogPostForm(forms.ModelForm):#Django表单
    class Meta:
        model=BlogPost
        exclude=('timestamp',)

5.设置mysql数据库,在Setting.py中的DATABASEs中对mysql设置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',

        'NAME': 'blogpost',

        'USER': 'root',

        'PASSWORD': '123456',

        'HOST': '',
    }
}

6.创建超级管理员和表
运行python manage.py createsuperuser创建超级管理员
运行python manage.py syncdb创建表

7.创建前端界面
在应用下创建一个templates文件夹,在这个文件夹中新建archieve.html(名字自拟)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="/blog/create/" method="post">{% csrf_token %}
    <table>{{ form }}</table><br>
    <input type="submit">
</form>
<hr>
<hr>
{% for bp in blogport %}
   <h2>{{ bp.title }}</h2>
   <p>{{ bp.timestamp }}</p>
   <p>{{ bp.context }}</p>
    {% endfor %}
</body>
</html>

8.创建URL模式
服务器通过WSGI的功能,最终会将请求传递给Django,并传递到项目的URLconf文件(django_linux_test/urls.py)
如下:
from django.conf.urls import url,include
from django.contrib import admin

urlpatterns = [
    url(r'^blog/',include('DjangoApp.urls')),
    url(r'^admin/', admin.site.urls),
]
在django_linux_test/DjangoApp新urls.py
from django.conf.urls import url, include
from . import views

urlpatterns = [
    url(r'^$',views.index),
    url(r'^create/',views.create_blogpost)
]

9.创建视图函数和处理用户输入

from django.shortcuts import render, render_to_response
from django.template import RequestContext
from datetime import datetime
from DjangoApp.models import BlogPost,BlogPostForm
from django.http import HttpResponseRedirect
def index(request):
    blogport=BlogPost.objects.all()[:12]
    return render_to_response('archieve.html',{'blogport':blogport,'form':BlogPostForm()},RequestContext(request))

def create_blogpost(request):
    if request.method=='POST':
        BlogPost(
            title=request.POST.get('title'),
            context=request.POST.get('context'),
            timestamp=datetime.now(),
        ).save()
    return HttpResponseRedirect('/blog/')

打开工程目录下命令行输入python manage.py runserver可查看运行结果

10.工程部署远程服务器

连接服务器:


工程上传服务器:项目右键->deployment->upload


11.进入服务器运行项目

使用ssh连接服务器:打开终端输入service sshd start 和 ssh 34.23.12.3(服务器域名)

启动mysql

systemctl start mysql.service

进入项目目录运行python manage.py syncdb创建表

最后运行 python manage.py runserver 0.0.0.0:8000













展开阅读全文

没有更多推荐了,返回首页