Django: Εκτύπωση url του άποψη, χωρίς να ενσωματώνουμε το url




Μπορώ να εκτυπώσετε ένα url `/admin/manage/products/add`ενός συγκεκριμένου προβολή σε ένα πρότυπο;


Εδώ είναι ο κανόνας θέλω να δημιουργήσετε έναν σύνδεσμο για



```
(r'^manage/products/add/$', create_object, {'model': Product, 'post_save_redirect': ''}),

```

Θα ήθελα να έχω / διαχείριση / προϊόντα / προσθέσετε σε ένα πρότυπο χωρίς να ενσωματώνουμε αυτό. Πως μπορώ να το κάνω?


**Επεξεργασία:** Δεν είμαι χρησιμοποιώντας το προεπιλεγμένο διαχειριστή (καλά, είμαι όμως σε ένα άλλο url), αυτή είναι η δική μου
Μπορείτε να χρησιμοποιήσετε `get_absolute_url`, αλλά αυτό θα λειτουργήσει μόνο για ένα συγκεκριμένο αντικείμενο. Από το αντικείμενό σας δεν έχει δημιουργηθεί ακόμη, δεν θα λειτουργήσει σε αυτή την περίπτωση.


Θέλετε να χρησιμοποιήσετε [το όνομα μοτίβα URL](https://docs.djangoproject.com/en/1.2/topics/http/urls/#naming-url-patterns) . Εδώ είναι μια γρήγορη εισαγωγή:


Αλλάξτε τη γραμμή urls.py σας:



```
(r'^manage/products/add/$', create_object, {'model': Product, 'post_save_redirect': ''}, "create-product"),

```

Στη συνέχεια, το πρότυπό σας μπορείτε να χρησιμοποιήσετε αυτό για να εμφανίσετε τη διεύθυνση URL:



```
{% url create-product %}

```

Αν χρησιμοποιείτε Django 1.5 ή νεότερη έκδοση θα πρέπει να έχετε αυτό:



```
{% url 'create-product' %}

```

Μπορείτε να κάνετε κάποια πιο ισχυρά πράγματα με το όνομά μοτίβα διευθύνσεων URL, είναι πολύ βολικό. Σημειώστε ότι αυτά είναι μόνο στην έκδοση ανάπτυξης (και επίσης 1.0).
<p><strong> συνολικά: </strong></p><p>τόσο το put όσο και το post μπορούν να χρησιμοποιηθούν για τη δημιουργία.</p><p>πρέπει να ρωτήσετε "σε τι εκτελείτε τη δράση;" να διακρίνετε τι πρέπει να χρησιμοποιείτε. ας υποθέσουμε ότι σχεδιάζετε ένα api για να κάνετε ερωτήσεις. εάν θέλετε να χρησιμοποιήσετε το post τότε θα το κάνετε σε μια λίστα ερωτήσεων. εάν θέλετε να χρησιμοποιήσετε το put τότε θα το κάνετε αυτό σε μια συγκεκριμένη ερώτηση.</p><p><strong> μεγάλη και οι δύο μπορούν να χρησιμοποιηθούν, έτσι ποιο πρέπει να χρησιμοποιήσω στο restful σχεδιασμό μου: </strong></p><p>δεν χρειάζεται να υποστηρίζετε τόσο το put όσο και το post.</p><p>το οποίο χρησιμοποιείται παραμένει στο χέρι σας. αλλά θυμηθείτε να χρησιμοποιήσετε το σωστό, ανάλογα με το αντικείμενο που αναφέρετε στο αίτημα.</p><p>μερικές σκέψεις:</p><ul> <li>ονομάζετε ρητά τα αντικείμενα url που δημιουργείτε ή αφήστε το διακομιστή να αποφασίσει; εάν τους ονομάσετε τότε χρησιμοποιήστε put. εάν αφήσετε τον διακομιστή να αποφασίσει στη συνέχεια, χρησιμοποιήστε το post.</li> <li>put είναι idempotent, οπότε αν put ένα αντικείμενο δύο φορές, δεν έχει καμία επίδραση. αυτή είναι μια ιδιοκτησία της νίκαιας, οπότε θα μπορούσα να χρησιμοποιήσω το put όταν ήταν δυνατόν.</li> <li>μπορείτε να ενημερώσετε ή να δημιουργήσετε έναν πόρο με put με την ίδια διεύθυνση url αντικειμένου</li> <li>με το post μπορείτε να έχετε 2 αιτήματα που εισέρχονται ταυτόχρονα για τροποποιήσεις σε μια διεύθυνση url και μπορεί να ενημερώσουν διαφορετικά μέρη του αντικειμένου.</li> </ul><p><strong> ένα παράδειγμα: </strong></p><p> <a href="https://stackoverflow.com/questions/256349/what-are-the-best-common-restful-url-verbs-and-actions/256359#256359">έγραψα τα εξής ως μέρος μιας άλλης απάντησης σχετικά με το so</a> :</p><blockquote> <p><strong> post: </strong></p> <p>χρησιμοποιείται για την τροποποίηση και την ενημέρωση ενός πόρου</p> <pre><code>post /questions/&lt;existing\_question&gt; http/1.1 host: www.example.com/ </code></pre> <p>σημειώστε ότι το ακόλουθο είναι ένα σφάλμα:</p> <pre><code>post /questions/&lt;new\_question&gt; http/1.1 host: www.example.com/ </code></pre> <p>εάν η διεύθυνση url δεν έχει δημιουργηθεί ακόμη, δεν θα πρέπει να χρησιμοποιείτε το post για να το δημιουργήσετε ενώ καθορίζετε το όνομα. αυτό θα πρέπει να έχει ως αποτέλεσμα ένα σφάλμα 'πόρος δεν βρέθηκε' επειδή το <code>&lt;new\_question&gt;</code> δεν υπάρχει ακόμα. πρέπει πρώτα να τοποθετήσετε τον πόρο <code>&lt;new\_question&gt;</code> στον διακομιστή.</p> <p>θα μπορούσατε όμως να κάνετε κάτι τέτοιο για να δημιουργήσετε πόρους χρησιμοποιώντας post:</p> <pre><code>post /questions http/1.1 host: www.example.com/ </code></pre> <p>σημειώστε ότι σε αυτήν την περίπτωση το όνομα του πόρου δεν έχει καθοριστεί, η διαδρομή url των νέων αντικειμένων θα σας επιστραφεί.</p> <p><strong> σημειωση: </strong></p> <p>χρησιμοποιείται για τη δημιουργία ενός πόρου ή για την αντικατάστασή του. ενώ ορίσετε τους πόρους νέα διεύθυνση url.</p> <p>για έναν νέο πόρο:</p> <pre><code>put /questions/&lt;new\_question&gt; http/1.1 host: www.example.com/ </code></pre> <p>για να αντικαταστήσετε μια υπάρχουσα πηγή:</p> <pre><code>put /questions/&lt;existing\_question&gt; http/1.1 host: www.example.com/ </code></pre></blockquote> Συχνά αυτό επιτυγχάνεται με τη χρήση [«Driven δεδομένων Συνδρομές»](https://msdn.microsoft.com/en-us/library/ms169673.aspx) , αλλά αυτή η λειτουργία είναι διαθέσιμη μόνο σε ορισμένες εκδόσεις του SQL: Enterprise και Business Intelligence, αλλά όχι στο πρότυπο.


Έτσι, υπάρχει μια σειρά από δημιουργικές λύσεις. Αλλά δεν μου αρέσει κάποια από αυτές, και απαιτούν ένα δίκαιο κομμάτι της εργασίας έξω από SSRS.


Οι λύσεις που έχω δει περιλαμβάνουν: Δημιουργία της εγγραφής και στη συνέχεια απενεργοποίηση ή επιτρέπουν την εργασία SQL που στέλνει τη συνδρομή (που προσδιορίζονται από GUID.)


Δημιουργήστε ένα .exe .NET περιτύλιγμα για να χειριστεί την αποστολή του email. Μπορεί να εκτελέσετε το ερώτημα πρώτα να δούμε πόσα επέστρεψε σειρές, και στη συνέχεια, αν χρειαστεί, να δημιουργήσει την έκθεση και να συμπεριληφθεί σε ένα email. <p>μπορείτε να λάβετε ροή εξόδου για τη σύνδεση και να γράψετε τη συμβολοσειρά ερώτησης παραμέτρων σε αυτήν.</p><pre><code>url url = new url("http://yoururl.com"); httpsurlconnection conn = (httpsurlconnection) url.openconnection(); conn.setreadtimeout(10000); conn.setconnecttimeout(15000); conn.setrequestmethod("post"); conn.setdoinput(true); conn.setdooutput(true); list&lt;namevaluepair&gt; params = new arraylist&lt;namevaluepair&gt;(); params.add(new basicnamevaluepair("firstparam", paramvalue1)); params.add(new basicnamevaluepair("secondparam", paramvalue2)); params.add(new basicnamevaluepair("thirdparam", paramvalue3)); outputstream os = conn.getoutputstream(); bufferedwriter writer = new bufferedwriter( new outputstreamwriter(os, "utf-8")); writer.write(getquery(params)); writer.flush(); writer.close(); os.close(); conn.connect(); </code></pre><p>...</p><pre><code>private string getquery(list&lt;namevaluepair&gt; params) throws unsupportedencodingexception { stringbuilder result = new stringbuilder(); boolean first = true; for (namevaluepair pair : params) { if (first) first = false; else result.append("&amp;"); result.append(urlencoder.encode(pair.getname(), "utf-8")); result.append("="); result.append(urlencoder.encode(pair.getvalue(), "utf-8")); } return result.tostring(); } </code></pre> μην πειραξεις τιποτα απλα αλλαξε την ip του εκτυπωτη σε 192.168.1.15 και βαλε αυτη στο cups στον υπολογιστη σου και σε καθε υπολογιστη/συσκευη που θελεις να το χρησιμοποιησεις. απ το manual του κατασκευαστη η με λιγο ψαξιμο στο ιντερνετ.

<http://localhost:631/help/network.html>

finish configuring the printer

visit <http://localhost:631>

click “printers” in the top banner, then your printer name

administration->set as server default (if desired)

enter your username & pw w… Προσθέστε οδηγός σας σε JMeter / lib φάκελο


Στη συνέχεια, προσθέστε μια [Διαμόρφωση JDBC σύνδεσης](https://jmeter.apache.org/usermanual/component_reference.html#JDBC_Request%20%20http://jmeter.apache.org/usermanual/component_reference.html#JDBC_Connection_Configuration) και συμπληρώστε:


* URL Βάση Δεδομένων: <https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html>
* JDBC Driver κατηγορία: com.mysql.jdbc.Driver
* σύνδεσης και τον κωδικό πρόσβασης
* Όνομα μεταβλητής θα εντοπίσει τη σύνδεση


Στη συνέχεια, προσθέστε μια [Αίτηση JDBC](https://jmeter.apache.org/usermanual/component_reference.html#JDBC_Request) κάτω από ένα [νήμα Ομάδα](https://jmeter.apache.org/usermanual/component_reference.html#Thread_Group)


και συμπληρώστε:


* Μεταβλητή Όνομα: ίδια τιμή με εκείνη στο JDBC Διαμόρφωση σύνδεσης
* Οι άλλοι τομείς που εξαρτώνται από το τι θέλετε να κάνετε


Διαβάστε αυτό το σεμινάριο:


* [http://jmeter.apache.org/usermanual/build-db-test-plan.html](https://jmeter.apache.org/usermanual/build-db-test-plan.html) <p>απλά χρησιμοποιήστε <a href="http://ruby-doc.org/core-1.9.3/array.html#method-i-sample"><code>array#sample</code></a> :</p><pre><code>[:foo, :bar].sample # =&gt; :foo, or :bar :-) </code></pre><p>διατίθεται σε ruby 1.9.1+. για να μπορέσετε να το χρησιμοποιήσετε με μια προηγούμενη έκδοση του ruby, θα μπορούσατε <a href="https://github.com/marcandre/backports"><code>require "backports/1.9.1/array/sample"</code></a> .</p><p>σημειώστε ότι στο ruby 1.8.7 υπάρχει κάτω από το ατυχές όνομα <code>choice</code>; μετονομάστηκε σε μεταγενέστερη έκδοση, επομένως δεν πρέπει να το χρησιμοποιήσετε.</p><p>παρόλο που δεν είναι χρήσιμη σε αυτή την περίπτωση, το <code>sample</code> δέχεται ένα όρισμα αριθμού σε περίπτωση που θέλετε μια σειρά διακριτών δειγμάτων.</p> εγω χρησιμοποιω το maim αντι του scrot και εχω βαλει αυτο για το prtsc:

bindsym print exec --no-startup-id maim pic-full-"$(date '+%y%m%d-%h%m-%s').png <p>πρέπει να χρησιμοποιήσετε την επιλογή <code>-f</code>:<br> <code>-f/--form &lt;name=content&gt; specify http multipart post data (h)</code></p><p>δοκιμάστε αυτό:</p><pre><code>curl \ -f "userid=1" \ -f "filecomment=this is an image file" \ -f "image=@/home/user1/desktop/test.jpg" \ localhost/uploader.php </code></pre> Θα πρέπει να δώσετε περισσότερες πληροφορίες σχετικά με το περιβάλλον ανάπτυξής σας για να πάρετε μια συγκεκριμένη απάντηση.


Για παράδειγμα, με ένα C # έργο στο Visual Studio, μπορείτε να κάνετε δεξί κλικ στα Project-> Ιδιότητες και, στη συνέχεια, να συμπληρώσετε το πεδίο «Εντολή επιχειρήματα γραμμή» στην καρτέλα «Debug».