zoukankan      html  css  js  c++  java
  • django 在godaddy中的部署

    最近要将django部署在godaddy上,当对注册的用户进行邮箱验证时,却遇到了很多问题,折腾了几天,今天终于搞定,特记录。

    1、在setting中要设置成EMAIL_HOST = 'relay-hosting.secureserver.net',而不要用godaddy给的smtpout.secureserver.net,端口25.

    2、在django.contrib.auth.forms.save函数最后,send_mail(_("Password reset on %s") % site_name,t.render(Context(c)), from_email, [user.email]),

    此处site_name是xxxx.com,必须将.com去掉,否则虽然django显示发送成功,但其实接受方并没有收到。

    3、在password_reset时,urls中需要设置4个

    (r'^password/reset/$','django.contrib.auth.views.password_reset',{'template_name':'password_reset.html','email_template_name':'password_reset_email.html'}),
    (r'^password/reset/confirm/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$','django.contrib.auth.views.password_reset_confirm',{'template_name':'password_reset_email.html'}),
    (r'^password/reset/done/$','django.contrib.auth.views.password_reset_done',{'template_name':'password_reset_done.html'}),

    4、godaddy是默认不安装django的,我们可以利用ssh,virtualenv在godaddy上建立一个django独立的环境,注意godaddy是不允许编译安装的,可以再自己电脑上先编译好了,再放在godaddy上,注意python的版本一致,否则会出错。

    5、部署django我用的fastcgi,在html目录,新建一个.htaccess文件,内容如下:

    AddHandler fcgi-script .fcgi
    Options ExecCGI
    Options +FollowSymLinks
    Options +SymLinksIfOwnerMatch

    RewriteEngine On
    RewriteRule ^site_static/(.*)$ brainico/static/$1 [L]
    RewriteRule ^brainico/static/(.*)$ - [L]

    RewriteRule ^site_media/(.*)$ brainico/media/$1 [L]
    RewriteRule ^brainico/media/(.*)$ - [L]
    RewriteRule ^admin_media/(.*)$ - [L]

    RewriteCond %{REQUEST_URI} !(brainico.cgi)
    RewriteRule ^(.*)$ /brainico.cgi/$1 [QSA,L]

    6、然后新建一个brainico.cgi文件(brainico是我的域名)

    内容如下

    #!/var/chroot/home/content/05/9608405/ENV/bin/python

    import os, sys

    sys.path.insert(0, "/var/chroot/home/content/05/9608405/html/")
    sys.path.append("/var/chroot/home/content/05/9608405/html/brainico/")
    os.chdir("/var/chroot/home/content/05/9608405/html/brainico/")

    os.environ['DJANGO_SETTINGS_MODULE'] = "brainico.settings"
    from django.core.servers.fastcgi import runfastcgi
    runfastcgi(method="threaded", daemonize="false")

     7、django的auth默认是通过username认证的,为了用email认证,加了一个backend,且将auth.models.User的__unicode__改为了self.first_name+self.last_name

    总体来说,godaddy还是很强大的,他的SSH用着很方便,但似乎在技术上不思进取,python还只是2.4版本,什么web框架也没有,如果没有virtualenv,很难部署上。

     8、godday自带了python还自带了virtualenv,有了ENV这样一个独立的环境,安装软件就很方便了。PIL不支持jgp格式文件,

  • 相关阅读:
    仿EXT风格,仿EXT功能,Jquery页签插件,EM.Tabs 1.1,新增事件处理机制,可拓展
    插入数据的同时,返回ID值
    xml格式的string转换为dataset
    ASP.NET缓存:方法分析和实践示例
    showModalDialog()方法使用详解 (转)
    160809325贺彦
    vncdotool A command line VNC client
    使Windows服务以控制台方式调试
    DIV CSS阴影
    允许与桌面交互[.net Windows服务]
  • 原文地址:https://www.cnblogs.com/lddhbu/p/2623103.html
Copyright © 2011-2022 走看看