Home php c# sql c c++ javascript python java go android git linux asp.net django .net node.js ios xcode cocoa iphone mysql tomcat mongodb bash objective-c scala visual-studio apache elasticsearch jar eclipse jquery ruby-on-rails ruby rubygems android-studio spring lua sqlite emacs ubuntu perl docker swift amazon-web-services svn html ajax xml java-ee maven intellij-idea rvm macos unix css ipad postgresql css3 json windows-server vue.js typescript oracle hibernate internet-explorer github tensorflow laravel symfony redis html5 google-app-engine nginx firefox sqlalchemy lucene erlang flask vim solr webview facebook zend-framework virtualenv nosql ide twitter safari flutter bundle phonegap centos Register | Login | Edit Tags | New Questions | 繁体 | 简体


10 questions online user: 27

0
votes
answers
9 views
+10

Celery,Django ..製作任務/線程啓動子任務/線程?

3

我使用Django的芹菜,我試圖得到一個任務,像下面這樣:Celery,Django ..製作任務/線程啓動子任務/線程?

class task1 (Task) 
    def run (self): 
     launch_some_other_task.delay() 

但它似乎並沒有工作,我可以進入更詳細至於我的代碼但我想我會先問問這種事情是否會起作用,因爲這似乎不適合我。我爲我使用硒找到這個必要,一個web測試框架,其中有時會掛在那裏,我不能從中得到任何輸出,所以我希望能夠殺死如果關閉,如果某一條件不符合(在指定的秒數內用特定值更新memcache變量)。

感謝這個

+0

上面的代碼,就可以(在理論上)......究竟會發生什麼? – asksol 2010-10-05 08:48:14

+0

我記不太清楚了,我覺得它只是不啓動這一進程的應該..我的代碼是怎麼樣的混亂和複雜的(因爲它周圍的硒軟件,這是有時那種不可預測的,至少對建我正在使用它)。我要提出一個更簡單的測試,所以我可以張貼在這裏,明天(代碼) – Rick 2010-10-05 09:45:00

+0

對於我來說,這聽起來好像你是黑客硒什麼是不應該做的事:如何進行相關檢測硒代碼生成代碼?如何是不可預知的硒,如果你正確地等待DOM?更多的代碼示例將不勝感激。 – Almad 2010-10-10 00:18:50

沙发
0
0

任何意見,請確保您已經添加了以下到您的urls.py

import djcelery 
djcelery.setup_loader() 
0
votes
answers
9 views
+10

Django - 默認個人資料圖片不顯示

0

我對圖像和圖像域有疑問。但是,我選擇的默認圖片不顯示,只有一個空白的圓圈。這是我default pictureDjango - 默認個人資料圖片不顯示

Models.py

class UserProfile(models.Model): 
    user = models.OneToOneField(User) 
    description = models.CharField(max_length=255, default='') 
    city = models.CharField(max_length=100, default='') 
    website = models.URLField(default='') 

    def __str__(self): 
     return self.user.username 

class ProfilePicture(models.Model): 
    user = models.ForeignKey(User) 
    image = models.ImageField(upload_to='profile_image', default='profile_image/Default.jpg') 

Forms.py

class UploadPictureForm(forms.Form): 
    image = forms.ImageField() 

profile.html

<div class="container"> 
    <div id="left"> 
     <div id="profilecard"> 
      {% if user.userprofile.image %} 
       <img class="circular--square" src="{{ }}" width="200" height="200"> 
      {% endif %} 
      <div id="info"> 
       <br> 
       <h3>{{ user.first_name }} {{ user.last_name }}</h3> 
       <p>@{{ user }}</p> 
       <p>{{ user.userprofile.city }}</p> 
       <p>{{ user.userprofile.website }}</p> 
       <p><i>{{ user.userprofile.description }}</i></p> 
      </div> 
     </div> 
沙发
0
0

profile.htmlsrc標籤沒有被提起。如果您想要使用默認圖像,您可以在模板中放置一個else標記,並將src指向一個靜態文件。

<div class="container"> 
    <div id="left"> 
     <div id="profilecard"> 
      {% if user.userprofile.image %} 
       <img class="circular--square" src="{{ user.userprofile.image.url }}" width="200" height="200"> 
      {% endif %} 
      <div id="info"> 
       <br> 
       <h3>{{ user.first_name }} {{ user.last_name }}</h3> 
       <p>@{{ user }}</p> 
       <p>{{ user.userprofile.city }}</p> 
       <p>{{ user.userprofile.website }}</p> 
       <p><i>{{ user.userprofile.description }}</i></p> 
      </div> 
     </div> 
    </div> 
</div> 
板凳
0
0

。在你的代碼錯誤,所以你需要做到這一點,你不能從USERPROFILE模型中獲得的圖像:

更改:

{% if user.userprofile.image %} 

到:

{% if user.profilepicture_set.count > 0 %} 

將img標籤的src屬性更改爲:

src="{{ user.profilepicture_set.all.0.image.url }}" 

固定碼:

<div class="container"> 
    <div id="left"> 
     <div id="profilecard"> 
      {% if user.profilepicture_set.count > 0 %} 
       <img class="circular--square" src="{{ user.profilepicture_set.all.0.image.url }}" width="200" height="200"> 
      {% endif %} 
      <div id="info"> 
       <br> 
       <h3>{{ user.first_name }} {{ user.last_name }}</h3> 
       <p>@{{ user }}</p> 
       <p>{{ user.userprofile.city }}</p> 
       <p>{{ user.userprofile.website }}</p> 
       <p><i>{{ user.userprofile.description }}</i></p> 
      </div> 
     </div> 
    </div> 
</div> 

ForeignKeyProfilePicture類使用related_name將定製的用戶

user = models.ForeignKey(User, related_name='image') 

profilepicture_set鍵,您可以訪問它的模板像

{% if user.image.count > 0 %} 
    <img class="circular--square" src="{{ user.image.all.0.image.url }}" width="200" height="200"> 
{% endif %} 

您也可以使用OneToOneField到ProfilePicture用戶字段如果資料圖片將只有一個:

user = models.OneToOneField(User) 

和模板:

{% if user.profilepicture %} 
    <img class="circular--square" src="{{ user.profilepicture.image.url }}" width="200" height="200"> 
{% endif %} 
+0

你能解釋一下你用你的外鍵related_name是什麼意思? – lordVader

+0

更新了我的答案 –

0
votes
answers
8 views
+10

如何在django runserver啓動一個線程?

0

我想在django項目runserver成功時啓動一個線程。 我可以在哪裏放置創建線程和啓動代碼? django runserver有沒有鉤子?如何在django runserver啓動一個線程?

+0

Duplicate:http://stackoverflow.com/questions/844570/web-application-background-processes-newbie-design-question,http://stackoverflow.com/questions/1081340/how-do-you-do -something-after-render-the-view-django,http://stackoverflow.com/questions/1986060/where-should-i-place-the-one-time-operation-operation-in-the-django -framework – 2010-01-03 12:34:30

沙发
0
6

你爲什麼要這麼做? runserver僅用於開發,它不應該用於生產。如果你通過Apache運行,它應該爲你管理線程/進程。

板凳
0
0

同意上面的答案,你可能不想這樣做。 Runserver只能用於開發。部署完成後,您需要轉移到Apache/WSGI。在我的開發機器上(我使用runserver的時候),我通常會把它放在一個屏幕會話中,所以它不會阻礙,但是如果我需要看到回溯,我可以將它恢復。

0
votes
answers
7 views
+10

Django runserver顯示HTTP

0

我配置了nginx來運行HTTPS。我還重寫了所有規則,以便它在HTTPS下運行。Django runserver顯示HTTP

但是,Django仍然在內部運行HTTP嗎?

Django version 1.2.1, using settings 'myproject.settings' 
Development server is running at http://127.0.0.1:8000/ 
Quit the server with CONTROL-C. 
[14/Aug/2012 23:57:04] "GET /app/c HTTP/1.0" 200 4 
[14/Aug/2012 23:57:09] "GET /app/c HTTP/1.0" 200 4 

是的。我知道我的版本已經過時了。

我檢查了request.is_secure,它在我訪問HTTPS時返回True。

+0

你怎麼不使用WSGI或至少FastCGI? – 2012-08-15 04:01:38

+0

@ IgnacioVazquez-Abrams嗯你是什麼意思?然而,我的確在運行gunicorn。 – User007 2012-08-15 04:09:58

沙发
0
1

正確,在內部您將使用http通過代理服務器進行通信,但所有外部通信都將使用https方法。

爲了進一步保護您的流量,請確保您只綁定到本地地址,或者使用套接字連接nginx和您的應用程序服務器。

我的確希望你不是在生產中使用django的開發服務器,而應該使用諸如gunicorn之類的東西作爲你的應用服務器。

+0

謝謝。的確,我確實使用gunicorn進行生產。只是一個簡短的問題,當你說綁定到一個本地地址,你在nginx conf中說我只綁定'http:// localhost:8000'?只要可能,我也只使用'$ host'變量。 – User007 2012-08-15 04:10:48

+0

僅綁定到您的應用程序服務器/ gunicorn的「本地主機」主機。對於你想綁定到你想要聽的所有地址的nginx。 – 2012-08-15 04:32:56

0
votes
answers
7 views
+10

Django的css文件不起作用

0

我是Django的新手,並且遇到問題。 我:Django的css文件不起作用

STATIC_URL = '/static/' 
STATIC_ROOT = '/static/' 

在我的settings.py,有一個文件夾內項目/ mainapp /靜態文件夾和css/header.css。 我也有

{% load staticfiles %} 
<link rel="stylesheet" href="{% static 'css/header.css' %}" type="text/css"> 

在我的頭html。瀏覽器嘗試使用localhost/static/css/header.css,但沒有發現任何內容。我究竟做錯了什麼?謝謝!

+0

你運行'蟒蛇manage.py collectstatic'? –

+0

也許你需要在URL中包含應用程序端口號,如:localhost:8080/static/... – Tomasz

+0

不幫助guyz。已經嘗試collectstatic,它使靜態目錄管理員,添加管理文件,這就是它。無論如何,我運行deafalt服務器,它應該沒有collectstatic工作。使STATIC_URL ='本地主機:8000 /靜態/'也沒有幫助。 –

沙发
0
1

定義STATICFILES_DIRS在您的設置如下:

STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),) 

BASE_DIR是全局變量,你可以在它指向的項目的工作目錄相同settings.py發現。 static是您的應用程序根目錄內的文件夾。

和負載static模板,而不是staticfiles象下面這樣:

{% load static %} 
+0

你也可以upvote答案! – Gahan

+0

注意:如果DEBUG設置爲True,則此設置將只在django中運行,否則需要使用apache或nginx服務靜態文件。 – Gahan

+0

聲望低於15,現在不能upwote,對不起。只是選擇了答案!謝謝! –

0
votes
answers
7 views
+10

如何從html中的查詢結果中分離文本?

-2

申報的東西,感謝您的幫助 -如何從html中的查詢結果中分離文本?

+0

結果[1:-1] .split(「」)----因爲你的結果是在一個小區中。您可以刪除括號並將其拆分爲一個列表。 –

+0

Hi Antonio, 您可以遍歷字符串以追加表標籤,如??,然後將字符串解析爲html。 我希望這會有所幫助 –

+1

不要發佈圖片,從你的代碼發佈複製/粘貼。 –

沙发
0
0
<tr> 
{% for val in response_data %} 
    <td>{{val.name}}</td> 
{% endfor %} 
</tr> 

這是一個簡單的方法來循環中的數據,並在表中顯示它

板凳
0
0

試試這個

var string = `(9030101,'REGISTO ELECTROCARDIOGRAPICO TRANSESOFAGICO - PEDIATRICO',165.0,165.0,None)`; 
 

 
var regex = new RegExp(/[^',(0-9)(none)][a-zA-Z- ]*/g); 
 
var finalText; 
 

 
finalText = regex.exec(string); 
 
alert(finalText)

Happy c編碼:)

+0

我有這樣的數千行,我無法爲每一行都做到這一點。但是,謝謝:) –

+0

這是動態的傢伙。它會從這種類型的字符串中刪除文本 –

+0

你不明白我的問題,它不能像你說的那樣完成 –

地板
0
0

你的問題是相當不完整的,所以我只能基於一些假設來回答。

主要assumtion是,「查詢結果」是querysetlist(或任何可迭代)的tuples,每一個代表一個數據庫行 - 如果這不是這樣,那麼對GodOrWhoeverYouBelieveIn的份上,請編輯您的問題與所有相關的細節。

第二個假設是,這份名單或查詢集或任何被命名在模板的上下文中的「結果」(如果不是這種情況等等...)

然後,所有你需要的是兩個嵌套循環 - 的上results外一個到達的每一行,在各行內一個獲得字段:

<table> 
    {% for row in results %} 
    <tr> 
     {% for field in row %} 
     <td>{{ field }}</td> 
     {% endfor %} 
    </tr> 
    {% endfor %} 
</table> 
+0

這正是bruno!對不起,我提出這個問題的方式,但我無法解釋自己。但你幫了我很多!謝謝:) –

+0

很高興我能提供幫助 - 如果確實如此,請隨時接受答案。 –

0
votes
answers
7 views
+10

重定向時Django無法找到模式名稱

0

我在django項目上工作,我使用AbstractUser模型將默認django用戶模型修改爲員工模型。重定向時Django無法找到模式名稱

現在,在他們第一次登錄時,我需要重定向員工以更改密碼頁面,該頁面是在EmployeeAdmin - get_urls方法中定義的Url。也覆蓋默認登錄行爲,我不得不重寫默認AdminSite如下圖所示:

admin.py

class MyAdminSite(AdminSite): 
    login_form = AdminLoginForm 


admin_site = HRMSAdminSite(name='My-admin') 


@admin.register(Employee, site=admin_site) 
class EmployeeAdmin(admin.ModelAdmin): 
    def get_urls(self): 
     return [ 
      path(
       '<id>/password/', 
       self.admin_site.admin_view(self.user_change_password), 
       name='auth_user_password_change', 
      ), 
     ] + super().get_urls() 

    def user_change_password(self, request, id, form_url=''): 
     pass 

而且我AdminLoginForm我檢查的用戶第一次登錄:

forms.py

class AdminLoginForm(AuthenticationForm): 

    def confirm_login_allowed(self, user): 
     # user.last_login is blank if this is first login for this user 
     if not user.last_login: 
      return redirect('auth_user_password_change') 

然而,在運行時,一博韋代碼我得到以下錯誤:

找不到'auth_user_password_change'。 'auth_user_password_change'不是有效的視圖函數或模式名稱。

我不知道爲什麼django無法找到命名的網址,即在EmployeeAdmin的get_urls()方法內定義的。

沙发
0
1

由於您要將URL添加到模型管理員類,所以需要包含admin命名空間才能將其反轉。

return redirect('admin:auth_user_password_change') 
0
votes
answers
7 views
+10

在這個複雜的查詢中,我應該在哪裏指定output_field kwarg?

0

我寫了一個小調查應用程序。我有一個查詢在升級到Django 2.0時導致異常:在這個複雜的查詢中,我應該在哪裏指定output_field kwarg?

表達式包含混合類型。您必須設置output_field。

這裏有必要幾個關係理解查詢(其中--fk--> indicats外鍵):

response --fk--> question --fk--> survey 
response --fk--> person 

這裏是我的查詢:

answered_surveys = SurveyResponse.objects.all() 
    .values('fk_question__fk_survey__hash', 'fk_question__fk_survey__name') 
    .annotate(
     nb_respondants = Count('fk_person', distinct=True), 
     survey_name = F('fk_question__fk_survey__name'), 
     survey_hash = F('fk_question__fk_survey__hash') 
    ) 
    .annotate(
     completion=100*Count('id')/ 
     (F('nb_respondants')*F('fk_question__fk_survey__nb_questions_per_survey')) 
    ) 

它的罰款,直到最後annotate,但我不知道在哪裏添加output_field克瓦格,因爲我只有FCount模型。根據定義,Count輸出一個IntegerField,如果我嘗試添加kwarg,F會抱怨。

我該如何解決這個問題?

+1

此[鏈接](https://code.djangoproject.com/ticket/24485)可以幫助你 – Gahan

+0

謝謝,這正是它是什麼。很酷,看到該功能背後的歷史背景。 – Escher

沙发
0
0

感謝@ Gahan的評論,我發現我需要使用ExpressionWrapper對註釋中的F對象執行算術運算。 Docs here。因此

最後一部分就變成了:

.annotate(
    completion=ExpressionWrapper(
     100*Count('id') 
     (F('nb_respondants')*F('fk_question__fk_survey__nb_questions_per_survey')), 
    output_field=FloatField() 
) 
0
votes
answers
7 views
+10

缺少manage.py嘗試安裝石墨(Django的)

0

我試圖在Ubuntu上安裝石墨按照這裏給出的說明:缺少manage.py嘗試安裝石墨(Django的)

https://gist.github.com/albertohm/5697429

當我安裝的組件,尤其是Django的,我做的沒有得到任何錯誤。然而,當我運行這兩個命令

cd /opt/graphite/webapp/graphite 
sudo python manage.py syncdb 

我得到一個錯誤,說

manage.py找不到

我試圖建立石墨的許多不同的方式但是沒有人工作:-(
有人可以請幫助我,爲什麼manage.py不存在於石墨網絡文件夾中?

+0

'/選擇/石墨/ web應用/ graphite'是文件夾中的每個文檔,是因爲你的盒子相同的路徑?檢查您所有安裝的目錄的「pwd」! – NoobEditor

沙发
0
0

似乎你不在manage.py存在的目錄中。

python manage.py syncdb 

該命令僅適用於存在manage.py的情況。

所以使用cd命令,進入該目錄,然後運行上面的命令

0
votes
answers
7 views
+10

manage.py測試誤差在Django涉及django.db.utils.OperationalError

0

我收到以下錯誤,當我運行python manage.py測試manage.py測試誤差在Django涉及django.db.utils.OperationalError

django.db.utils.OperationalError:無法解析主機名「分貝「解決:節點名,也不servname提供,或者不知道

我的搬運工,compose.yml看起來是這樣的:

version: '3' 

services: 
    db: 
    image: postgres 
    ports: 
     - "5432:5432" 
    web: 
    entrypoint: /entrypoint.sh 
    build: . 
    command: python3 manage.py runserver 0.0.0.0:8000 
    volumes: 
     - .:/code 
    ports: 
     - "8000:8000" 
    depends_on: 
     - db 

我dockerfile看起來像

FROM python:3 
ENV PYTHONUNBUFFERED 1 
RUN mkdir /code 
WORKDIR /code 
ADD requirements.txt /code/ 
RUN pip install -r requirements.txt 
ADD . /code/ 
COPY entrypoint.sh /entrypoint.sh 
RUN chmod +x /entrypoint.sh 

請給我任何見解如何解決這個問題。

沙发
0
0

這是因爲他們是不一樣的網絡中,

您應該創建一個網絡,包括數據庫和網絡的話,

version: '3' 

services: 
    db: 
    image: postgres 
    ports: 
     - "5432:5432" 
    networks: 
     - backend 


    web: 
    entrypoint: /entrypoint.sh 
    build: . 
    command: python3 manage.py runserver 0.0.0.0:8000 
    volumes: 
     - .:/code 
    ports: 
     - "8000:8000" 
    depends_on: 
     - db 
    networks: 
     - backend 

networks: 
    backend: 
    driver: bridge 
+0

我做到了,而這並沒有改變任何東西。任何其他線索? –