我正在尝试在heroku上部署我的django应用程序.所有静态文件都由whitenoise成功提供并迁移.但是如何ImageField在生产期间获取用于上传的媒体文件.
我的 settings.py
STATIC_URL = '/static/'
STATIC_ROOT = 'C:/Users/Sak/mpro/feat/static/'
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
Run Code Online (Sandbox Code Playgroud)
wsgi.py
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mpro.settings")
application = get_wsgi_application()
try:
from django.core.wsgi import get_wsgi_application
from whitenoise.django import DjangoWhiteNoise
application = get_wsgi_application()
application = DjangoWhiteNoise(application)
from dj_static import Cling
application = Cling(get_wsgi_application())
except:
pass
Run Code Online (Sandbox Code Playgroud)
urls.py
urlpatterns = [
url(r'^', include('feat.urls', namespace="feat")),
url(r'^admin/', include(admin.site.urls)),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)
我的所有媒体文件都上传到base_dir/media/media,当whitenoise收集静态文件时,它只收集文件STATIC_ROOT,所以如何部署我的媒体文件.当我运行时,heroku …
使用后建立数据库后heroku addons:create heroku-postgresql:hobby-dev,我尝试将本地数据库迁移到heroku数据库.所以我先跑了
heroku python manage.py migrate.之后我用我的本地数据库创建了一个转储文件pg_dump -Fc --no-acl --no-owner -h localhost -U myuser mydb > mydb.dump.我将mydb.dump文件上传到dropbox,然后使用以下命令将转储加载到我的heroku数据库
heroku pg:backups restore'https://www.dropbox.com/s/xkc8jhav70hgqfd/mydb.dump?' HEROKU_POSTGRESQL_COLOR_URL
Run Code Online (Sandbox Code Playgroud)
但是,这会引发以下错误 -
r004 ---restore---> HEROKU_POSTGRESQL_PURPLE
[0KRunning... 0.00B..
[0KAn error occurred and your backup did not finish.
Please run `heroku pg:backups info r004` for details.
Run Code Online (Sandbox Code Playgroud)
在跑步时heroku pg:backups info r004我得到 -
Database: BACKUP
Started: 2015-06-25 18:19:37 +0000
Finished: 2015-06-25 18:19:38 +0000
Status: Failed
Type: Manual
Backup Size: 0.00B
=== Backup Logs
2015-06-25 …Run Code Online (Sandbox Code Playgroud) 我正在学习Python并使用Python获得expandtabs命令.这是文档中的官方定义:
Run Code Online (Sandbox Code Playgroud)string.expandtabs(s[, tabsize])展开字符串中的选项卡,将其替换为一个或多个空格,具体取决于当前列和给定的选项卡大小.在字符串中出现每个换行符后,列号将重置为零.这不了解其他非打印字符或转义序列.选项卡大小默认为8.
所以我从中理解的是,制表符的默认大小是8,为了增加它,我们可以使用其他值
所以,当我在shell中尝试它时,我尝试了以下输入 -
>>> str = "this is\tstring"
>>> print str.expandtabs(0)
this isstring
>>> print str.expandtabs(1)
this is string
>>> print str.expandtabs(2)
this is string
>>> print str.expandtabs(3)
this is string
>>> print str.expandtabs(4)
this is string
>>> print str.expandtabs(5)
this is string
>>> print str.expandtabs(6)
this is string
>>> print str.expandtabs(7)
this is string
>>> print str.expandtabs(8)
this is string
>>> print str.expandtabs(9)
this is string
>>> print str.expandtabs(10)
this is string
>>> …Run Code Online (Sandbox Code Playgroud) 我每次点击链接时都会收到以下错误消息http://prntscr.com/7f3l4dtemplate.html.有人可以帮我解决这个问题.
urls.py 项目
urlpatterns = [
url(r'^', include('feature.urls', namespace="feature")),
url(r'^admin/', include(admin.site.urls)),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)
urls.py 应用
urlpatterns = [
url(r'^$', views.rock_and_feat, name='rock_and_feat'),
url(r'^(?P<pk>[0-9]+)/$', views.DetailView.as_view(), name='detail'),
]
Run Code Online (Sandbox Code Playgroud)
views.py
def rock_and_feat(request):
feats = Feat.objects.order_by('-created')[:3]
rocks = Rockinfo.objects.order_by('-rank')[:50]
context = RequestContext(request, {
'feats': feats, 'rocks': rocks})
return render_to_response('template.html', context)
class DetailView(generic.DetailView):
model = Feat
template_name = 'feature/detail.html'
context_object_name = 'feat'
Run Code Online (Sandbox Code Playgroud)
template.html
{% extends "index.html" %}
{% block mainmast %}
<div id="wrapper">
{% if feats %}
{% for feat in …Run Code Online (Sandbox Code Playgroud) git push heroku master命令显示Push rejected由于指定Python-3.4.3在runtime.txt。我更改了这些值,因为我在 Windows 7 系统上使用了 python 3.4。
完整的错误回溯
(denv) C:\Users\Saket\denv\musicalguru>git push heroku master
Counting objects: 7, done.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), 488 bytes | 0 bytes/s, done.
Total 6 (delta 2), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Python app detected
remote: -----> Found runtime python-2.7.10, removing
remote: -----> Installing runtime (python-3.4.3)
remote: -----> Installing dependencies with …Run Code Online (Sandbox Code Playgroud) 我位于项目的外部目录中。当我尝试时python manage.py runserver,它有效,但如果我尝试部署我的代码并执行heroku run python manage.py migrate,它会显示以下错误 -
(cenv) C:\Users\Machine\cenv\myproject>heroku run python manage.py migrate
Running `python manage.py migrate` attached to terminal... up, run.6848
python: can't open file 'manage.py': [Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)
但是当我输入时DIR它显示它manage.py位于同一目录中。
<DIR> .
<DIR> ..
59 .gitignore
<DIR> 2015
<DIR> feature
254 manage.py
<DIR> media
<DIR> myproject
43 Procfile
355 requirements.txt
12 runtime.txt
723 bytes
12,963,143,680 bytes free
(cenv) C:\Users\Machine\cenv\myproject>heroku run ls -al
Running `ls` attached to …Run Code Online (Sandbox Code Playgroud) 我有两个班级person和test,其中一个人可以进行多次测试。我试过序列化这个,但每次我尝试使用
person= Person.objects.create(title="mr",name="name",address="address",city="city")
Run Code Online (Sandbox Code Playgroud)
它抛出错误
IntegrityError: NOT NULL constraint failed: appname_person.tests_id
models.py
class Test(models.Model):
date = models.DateTimeField(auto_now_add=True)
test_name = models.CharField(max_length=200,default='',blank=False)
test_subject = models.CharField(max_length=100,default='')
test_type = models.CharField(max_length=100,default='')
def __str__(self):
return self.test_name
class Person(models.Model):
tests = models.ForeignKey(Test)
title = models.CharField(max_length=3,default="mr",blank=False)
name = models.CharField(max_length=50,default='',blank=False)
address = models.CharField(max_length=200,default='',blank=False)
city = models.CharField(max_length=100,default='',blank=False)
def __str__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
serializers.py
class TestSerializer(serializers.ModelSerializer):
class Meta:
model = Test
fields = ('test_name','test_subject','test_type')
class PersonSerializer(serializers.ModelSerializer):
tests = TestSerializer(many=True, read_only=True)
class Meta:
model = Person
fields = ('id', 'title', …Run Code Online (Sandbox Code Playgroud) 我有以下随机生成的div元素,所以我不能对单个div元素进行更改.这里是http://jsfiddle.net/y638o46h/2/的示例.这就是我需要的http://prntscr.com/5i5vz3.
HTML
<div class="relatedposts">
<div class="relatedthumb">
<img src="" >
<h3 class="justin-cover">Lets make this work</h3>
</div>
<div class="relatedthumb">
<img src="" >
<h3 class="justin-cover">Lets make this work</h3>
</div>
<div class="relatedthumb">
<img src="" >
<h3 class="justin-cover">Lets make this work</h3>
</div>
<div class="relatedthumb">
<img src="" >
<h3 class="justin-cover">Lets make this work</h3>
</div>
<div class="relatedthumb">
<img src="" >
<h3 class="justin-cover">Lets make this work</h3>
</div>
<div class="relatedthumb">
<img src="" >
<h3 class="justin-cover">This one clearly has too many lines that do not fit</h3> …Run Code Online (Sandbox Code Playgroud) 我收到了一份人员名单以及他们在同一个项目中从api中获得的测试.我希望用户可以选择查看城市中有三个选项的测试次数 - 每日/每周/每月.
models.py
class City(models.Model):
city_name=models.CharField(max_length=100,default='',blank=False)
class Person(models.Model):
title = models.CharField(max_length=3,default="mr",blank=False)
name = models.CharField(max_length=50,default='',blank=False)
address = models.CharField(max_length=200,default='',blank=False)
city = models.ForeignKey(City)
class Test(models.Model):
person = models.ForeignKey(Person)
date = models.DateTimeField(auto_now_add=True)
test_name = models.CharField(max_length=200,default='',blank=False)
subject = models.CharField(max_length=100,default='')
Run Code Online (Sandbox Code Playgroud)
每个城市的人们的json文件就像http://pastebin.com/pYLBjrjh一样生成
有关 views.py
def personlist(request, id):
data = requests.get('http://127.0.0.1:8000/app/cities/' + id + '/persons/').json()
context = RequestContext(request, {
'persons': data['results'],'count': data['count'],
})
return render_to_response('template.html', context)
Run Code Online (Sandbox Code Playgroud)
这将生成该城市中已经参加测试的名称列表.我想知道是否有办法让用户选择时间段(每日/每周/每月),并且只查看在该时间段内参加测试的名称.
python django django-templates django-views django-rest-framework
我有一个元素,我需要使它的宽度全屏宽度而不是父宽度.我该怎样做呢?
<header>
<nav class="navbar navbar-inverse navbar-fixed-top" data-tap-toggle="false" role="navigation">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#"><img id="12" src="img/logo-3.jpg" alt="logo"></a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav" id="menu">
<li><a href="#" class="drop">ENTERTAINMENT</a><!-- Begin 3 columns Item -->
<div class="dropdown_3columns"><!-- Begin 3 columns container --> …Run Code Online (Sandbox Code Playgroud) python ×8
django ×7
heroku ×3
css ×2
html ×2
django-media ×1
django-views ×1
git ×1
postgresql ×1
python-2.7 ×1
python-3.x ×1